我有2個表,相同的結構,相同的行,相同的數據,但第一個有更多的列(字段)。表列增加選擇語句執行時間
例如:
我請從兩者相同的3個字段(SELECT A,B,C來自MYTABLE1然後選擇A,B,C來自mytable2)
我試圖在100,000條記錄上運行這些查詢(對於每個表),但最後我得到相同的執行時間(0.0006秒) 您是否知道列的數量(以及最後一個表的大小是否大於其他)必須對查詢執行時間做些什麼?
我有2個表,相同的結構,相同的行,相同的數據,但第一個有更多的列(字段)。表列增加選擇語句執行時間
例如:
我請從兩者相同的3個字段(SELECT A,B,C來自MYTABLE1然後選擇A,B,C來自mytable2)
我試圖在100,000條記錄上運行這些查詢(對於每個表),但最後我得到相同的執行時間(0.0006秒) 您是否知道列的數量(以及最後一個表的大小是否大於其他)必須對查詢執行時間做些什麼?
從邏輯上講,它會影響執行時間,如果包含更多列的表上的數據更大,您可能會看到差異。例如,表1:500mb,表2:40mb。 如果數據集索引不再適合內存,性能會下降。然後磁盤執行步驟。
這會影響執行時間,但我認爲列/行大小的線性增加會產生邊際效應。由於MySQL仍然需要處理/顯示額外的數據,因此無法實現零效果。
的關鍵點(在我看來)將僅選擇列和行,你需要選擇。
IMO。只選擇正確的列會影響傳送時間(從數據庫服務器到應用程序服務器)並影響內存,因爲應該存儲和傳輸更多的數據。
在你的例子中,你從表中選擇了相同的三列。有跡象表明,我能想到的地方有額外的列(但不選擇它們)就沒什麼/沒有影響幾個方面:
一般來說,更窄的表格會給你更好的表現。
如果您想嘗試一個示例,請在一些大型CHAR(而不是VARCHAR)中進行折騰,然後在測試查詢中選擇這些列。我預計會更糟糕。
希望有所幫助。