零碎的MySql优化问题和表定义信息查看

本文探讨了Mysql查询优化技巧,包括内联表排序、避免重复排序、强制使用索引,以及forupdate锁定机制的深入理解。同时,介绍了如何通过代码查看表定义和列注释信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,Mysql的优化相关

1,查询中内联的两个表优先以from之后的表子段排序速度更快,因from后的表为主动表,例如:
select a.*,b.* from table1 as a inner jion table2 as b on a.xid = b.xid where ... order by    a.xid desc(比b.xid desc快)

2,查询如果内层和外层都有按同一某子段排序的,不必重复排序,仅需在最外层或对最后结果排序即可,这样减少排序次数带来的耗时,速度更快;


二,代码方式查看表定义信息
1,mysql代码方式查看表定义:desc 表名

2,mysql代码方式查看表定义语句:show create table 表名

3,mysql代码方式查看列的注释信息:
select * information.columns where table_schema = '库名' and table_name = '表名'


三,Mysql 查询中强制使用某个索引例子
select * from table1 force index(索引名称) where ... order by ...

四,Mysql 中的 for update用法
在mysql的事务进行当中查询select到同一个数据表时,强制必须等待其它事务数据被提交commit后才会执行,也就是查到的数据是事务完成之后的安全数据,而不是过程中的脏数据,用法如下:
select * from table1 for update;

扩展mysql的select读取锁分
select ... for update;  推荐使用
select ... lock in share mode;

个人简单零碎总结,欢迎拍砖留言讨论...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值