我正在發佈此線程以獲得有關我的SQL查詢性能的一些建議。 我實際上有2個表格,其中一個稱爲HGVS_SNP
約44657169行,另一個表格爲run
,平均有2000行。 當我嘗試更新我的run table
的字段評論時,需要很長時間來執行查詢。我想知道是否有任何方法來增加我的SQL查詢。 HGVS_SNP表提高MySQL中的查詢性能
結構:
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| snp_id | int(11) | YES | MUL | NULL | |
| hgvs_name | text | YES | | NULL | |
| source | varchar(8) | NO | | NULL | |
| upd_time | varchar(32) | NO | | NULL | |
+-----------+-------------+------+-----+---------+-------+
我跑表的結構如下:
+----------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------------+--------------+------+-----+---------+-------+
| ID | varchar(7) | YES | | NULL | |
| Reference | varchar(7) | YES | MUL | NULL | |
| HGVSvar2 | varchar(120) | YES | MUL | NULL | |
| Comment | varchar(120) | YES | | NULL | |
| Compute | varchar(20) | YES | | NULL | |
+----------------------+--------------+------+-----+---------+-------+
這裏是我的查詢:
UPDATE run
INNER JOIN SNP_HGVS
ON run.HGVSvar2=SNP_HGVS.hgvs_name
SET run.Comment=concat('rs',SNP_HGVS.snp_id) WHERE run.Compute not like 'tron'
obviuos懷疑是你加入的字段有差異t類型和'hgvs_name'似乎缺少索引。 –
這個「不喜歡」並不幸運,正如我所看到的那樣,沒有「計算」字段的索引 – vaso123
在「計算」列上添加索引,如果沒有必要則避免使用「LIKE」 – mitkosoft