随笔分类 - SQL
1
数据库相关
摘要:sql执行顺序 from -> on -> join ->此时生成临时表-> where(过滤临时表)->group by (开始可以使用聚合函数以及select字段或别名)-> 聚合函数-> having->select-> distinct-> order by -> 分页(top、limit)
阅读全文
posted @ 2019-09-19 09:18
飞沙流年
摘要:参考:https://www.cnblogs.com/lanymy/articles/2335291.html truncate table 清空表数据 但不会删除索引 只是删除索引对应的row数据 delete from table where 删除指定数据 逐行删除,比清空表慢 会把索引对应的数
阅读全文
posted @ 2019-08-20 16:55
飞沙流年
摘要:今天遇到一个更新的场景,即在更新某个字段值的时候,不是更新成新值,而是对原始数据进行追加内容。 第一反应想到的是 update table set remark = '追加内容' + remark where id = ''; 这种写法,即想到数字类型的操作,都是直接可以进行加减的, 但是由于该字段
阅读全文
posted @ 2019-08-14 15:15
飞沙流年
摘要:有些时候对于要更新的数据,为了防止其他查询同时修改该数据会用到select for update,即锁定要更新的记录,等待整个事务提交后,才允许其他请求操作该数据。 需注意: for update 会锁定行或者表 区别在于: 当for update的字段为索引或者主键的时候,只会锁住索引或者主键对应
阅读全文
posted @ 2019-07-15 14:10
飞沙流年
摘要:最近在做一个需求,就是根据选定的对账单查询该对账单下的所有交易明细,但是由于交易明细表过大——几百万——且没有做分表等操作,数据库用的是mysql,实时去查询的话,会比较慢。 虽然在交易明细表中给对账单id加了索引,但是由于查询的字段比较多且无需,肯定需要回表操作,另外还有对数据进行排序,结果造成每
阅读全文
posted @ 2019-06-06 14:45
飞沙流年
1

浙公网安备 33010602011771号