1.
数据库条件查询时多个条件先后顺序
一般来说,预判一下过滤条件的范围。由于数据库是从后向前解析 SQL 语句的,通常建议把能过滤最多结果的条件放在后面。例如:
1 |
SELECT a, b, c FROM tablename WHERE uid = 1 AND type = 2 |
假设单以 uid = 1 为条件能过滤掉 90% 的数据,单以 type = 2 能过滤掉 50% 的数据。那么就应该将 uid = 1 放到 type = 2 之后,这样在执行中第一步就能过滤掉 90% 的数据,效率会大大提升。
另外:尽可能多的使用 LIMIT 语句也能有效的提高执行效率。
2.复制表
如果新表不存在
select * into newtable from oldtable
如果存在
insert into newtable select * from oldtable ---表结构一致
insert into newtable(列名1,列名2,.....) select 列名1,列名2....from oldtable --表结构不一致

浙公网安备 33010602011771号