数据库
rw-just-go-forward
这个作者很懒,什么都没留下…
展开
-
查询语句优化
原则避免全表扫描方法在where及order by涉及的列上建立索引避免在where子句中避免null值的判断,否则会导致进行全表扫描,例如 select id from t where num is null 可以在num上设置默认值0,确保num列没有null值,然后 select id from t where num = 0尽量避免在where子句中使用!=或<>操作符,否则翻译 2017-01-23 15:41:28 · 779 阅读 · 0 评论 -
Mysql交换两列的值
创建一个测试的表create table test_swap(x char(10), y char(10));插入几条数据insert into test_swap values('x1', 'y1'), ('x2', 'y2'), ('x3', null), (null, 'y4');看一下现在表的样子select * from test_swap;输出+------+------+| x原创 2017-04-03 09:00:46 · 2033 阅读 · 0 评论 -
使用索引覆盖查询优化limit分页查询
我们有分页查询订单详细信息的需求,订单表目前有300多万的数据,而且order表在orderNo列上有索引,传统的写法可能使用limit offset, pageSize的写法来实现,但是有一个问题,在offset非常大的时候,查询会很慢,因为会使Mysql扫描大量的无用行,然后再扔掉,例如下面这样的语句select orderNo, state, payType, ctime from `ord原创 2017-04-03 09:22:50 · 2493 阅读 · 0 评论