2014-09-01 79 views
-1

這種類型的問題已被問過,但不是我的情況。 我想知道什麼適當的排序技術將是我的情況。正確的mysql排序做法

可以說我們有10個用戶在mysql數據庫中存儲每週每天的數據。

我們有一個自動增量的索引字段,但我們也存儲用戶名。

是它更好地通過用戶名mysql數據庫,然後日期每個條目後,當我們做一個DB搜索只輸出數組是

OR

是它更好地做一個數據庫進行排序,然後搜索,排序數組,然後輸出它?

+0

如果要按特定順序顯示結果,請在查詢中始終使用'order by'。 – 2014-09-01 01:06:13

回答

0

如果您希望在搜索上一組給定的字段很多,換句話說,如果你結了許多命令,例如(或者一個命令重複了很多次):

SELECT <some fields> FROM <table> WHERE a = <some value> AND b = <some value> 

然後,用a和b添加索引是個好主意。語法取決於你使用的數據庫系統,但通常是這樣的:

CREATE INDEX <some name> ON <table> (a, b); 

的順序和b不應該多大關係的指標。雖然從你所說的話來看,每個用戶都會有一個日期列表,而不是其他方式,所以可能首先是用戶。

然後處理一個WHERE包括「一」和「b」時,SQL系統會自動拾起索引。

注意的是,在最先進的SQL引擎(我知道的PostgreSQL這樣做,MySQL的最肯定來不及)等指標可以自動由SQL管理器生成。經理收集可用於自動生成索引的統計信息。但是,這些不如您明確創建的那些可靠。