程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> MySQL手冊版本 5.0.20-MySQL優化(二) (1)(2)

MySQL手冊版本 5.0.20-MySQL優化(二) (1)(2)

編輯:關於PHP編程


表中最多只有一行匹配的記錄,它在查詢一開始的時候就會被讀取出來。由於只有一行記錄,在余下的優化程序裡該行記錄的字段值可以被當作是一個恆定值。const 表查詢起來非常快,因為只要讀取一次!const 用於在和 PRIMARY KEY 或 UNIQUE 索引中有固定值比較的情形。下面的幾個查詢中,tbl_name 就是 const 表了:


SELECT * FROM tbl_name WHERE primary_key=1;

SELECT * FROM tbl_name

WHERE primary_key_part1=1 AND primary_key_part2=2;


eq_ref


從該表中會有一行記錄被讀取出來以和從前一個表中讀取出來的記錄做聯合。與 const 類型不同的是,這是最好的連接類型。它用在索引所有部分都用於做連接並且這個索引是一個 PRIMARY KEY 或 UNIQUE 類型。eq_ref 可以用於在進行"="做比較時檢索字段。比較的值可以是固定值或者是表達式,表達示中可以使用表裡的字段,它們在讀表之前已經准備好了。以下的幾個例子中,MySQL使用了 eq_ref 連接來處理 ref_table:


SELECT * FROM ref_table,other_table

WHERE ref_table.key_column=other_table.column;

SELECT * FROM ref_table,other_table

WHERE ref_table.key_column_part1=other_table.column

AND ref_table.key_column_part2=1;


ref


該表中所有符合檢索值的記錄都會被取出來和從上一個表中取出來的記錄作聯合。ref 用於連接程序使用鍵的最左前綴或者是該鍵不是 PRIMARY KEY 或 UNIQUE 索引(換句話說,就是連接程序無法根據鍵值只取得一條記錄)的情況。當根據鍵值只查詢到少數幾條匹配的記錄時,這就是一個不錯的連接類型。ref 還可以用於檢索字段使用 = 操作符來比較的時候。以下的幾個例子中,MySQL將使用 ref 來處理 ref_table:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved