所以,我有这个数据库(几乎没有关系,因为它没有主键,唯一字段,外键等),每次我重新启动C客户端时都会执行此查询:
select * from table where table.id1 = another_table.id1 and table.id2 > another_table.id2 limit 1;
第一个表中有900万行,第二个表中有800行,需要永远完成:/
我不是SQL开发人员,所以我在这个领域的知识非常有限。当然这个问题可能听起来很愚蠢,但现在我已经死路了......
答案 0 :(得分:0)
你不能强迫数据库以更快的速度运行,除非你给它一些东西可以使用 - 这意味着你需要添加索引以使其更快地运行。一旦你做到这一点,它将会非常快。
答案 1 :(得分:0)
有没有任何理由没有索引,PK等?因为这正是在这里获得不错的表现所缺少的。另外,another_table.id1和another_table.id2是否与表或固定值连接(在前一种情况下:sql的外观如何?)。
答案 2 :(得分:0)
通常索引可以提高这类查询的性能,因此如果您认为索引可能会破坏您的插入性能,则可能选择是定义索引,但禁用并在{{1}时启用索引完成了,就像这样。
select