我有一个包含25.000行的表(带字符串的列)。
我想改进我的选择查询。 “SELECT name FROM table WHERE name LIKE'something'ORDER BY name LIMIT 15”
数据库将是静态的。
我想知道当我在表格中插入一行时是否可以订购列,如果表格已按名称排序,是否会减少选择查询的时间?
答案 0 :(得分:2)
您所要求的内容没有意义 - ORDER子句仅适用于SELECT,而不适用于INSERT操作。 (例如,你会点什么?)
如果您正在讨论构建某种形式的index,只要您指定名称列为index(理想情况下,在构建table时)就不会你还可以做很多事情 - 由RDBMS系统的作者来处理其余部分。 (即:他们决定何时构建/更新索引等等 - 你无法控制它。)
答案 1 :(得分:2)
如果数据库是静态的,为什么要使用它?只需对程序中的15个名称进行硬编码即可。如果您的意思是表不会更改,那么为了改进您的查询,您可以在名称列名称上添加索引或使用更多的缓存。
答案 2 :(得分:0)
以下内容将起作用:
INSERT INTO TABLE1 (S1, S2, S3) SELECT S1, S2, S3 FROM TEMP ORDER BY S1, S2, S3
此处的排序是在插入之前作为SELECT
语句的一部分完成的。