cwe*_*ske 2 mysql query-optimization
为了在某列上进行DISTINCT查询,我需要设置哪些索引才能尽快获得结果?
示例表列:
id INTEGER
name VARCHAR(32)
groupname VARCHAR(16)
Run Code Online (Sandbox Code Playgroud)
我经常需要获得所有组的列表,
SELECT DISTINCT groupname FROM data ORDER BY groupname
Run Code Online (Sandbox Code Playgroud)
该表可以有> 200k条目,但只有大约十几个组.我不想为组名使用单独的表,因为数据经常从CSV文件导入.
在这种情况下,索引groupname应该可以获得最佳结果.
如果这还不够好,还需要考虑几个选项 - 首先,您可以缓存该查询的结果,以便只在必要时才运行它.其次,您可以创建一个单独的表来存储groupname值并通过插入触发器填充它(这样可以避免更改CSV导入过程)
| 归档时间: |
|
| 查看次数: |
3528 次 |
| 最近记录: |