我刚才读的优化文章的一部分,segfaulted以下声明:
当使用SQL代替using语句
OR有UNION:Run Code Online (Sandbox Code Playgroud)select username from users where company = ‘bbc’ or company = ‘itv’;至:
Run Code Online (Sandbox Code Playgroud)select username from users where company = ‘bbc’ union select username from users where company = ‘itv’;
从快速EXPLAIN:
使用OR:

使用UNION:

没有这意味着UNION确实在双工作?
虽然我感谢UNION某些RDBMS和某些表模式的性能可能更高,但这并非如作者建议那样明确.
我错了吗?
我无法找到关于这个主题的一些现有帖子的任何结论性答案.
过去10年我在100个地点都有一些数据.该表有大约8亿行.我需要主要为每个位置生成年度统计数据.有时我需要生成每月变化统计数据和每小时变化统计数据.我想知道我是否应该生成两个索引 - 一个用于位置,另一个用于年份或在位置和年份生成一个索引.我的主键当前是序列号(可能我可以使用位置和时间戳作为主键).
谢谢.