2013-12-22 53 views
0

可以說我們的數據庫中有一個非常大的(很多行和單元格)表,我們正在尋找一個非常特殊的值。大數據庫的性能,更快的方法:用php或sql找到價值?

哪種方式會提前顯示結果? a)將表格放在一個php數組中,並通過這個數組獲取 b)使用sql命令搜索值

+1

如果表格足夠小,您可以將它放入一個PHP數組中,它從定義上來說不是「非常大」(按數量級)。 –

回答

7

帶有列索引的數據庫應該更快。

即使沒有索引,如您所描述的那樣,數據庫會更快。將數據移動到php數組是一項昂貴的操作。即使數據庫必須執行全表掃描,它也只會返回您關心的行。

2

假設您正在搜索的列被正確編入索引,直接使用SQL應該快得多。否則,您必須選擇整個表並通過PHP進行循環,而沒有索引的好處。

如果因爲任何原因無法在索引上進行搜索,我認爲這兩種方法都會很慢。從本質上講,單獨使用PHP進行搜索沒有任何好處。

0

如果表格很大,讀取數據以填充數組需要時間,並且在大數組中搜索將會很慢(除非您有針對數組的特殊索引方法),無論您使用哪種語言,php, java,c#或其他。

在您正在搜索的列上放置索引:行,單元格或唯一值(如果您僅搜索值),這取決於您的搜索。

相關問題