MySQL成长之路
本专栏收集学习MySQL过程中,一步步从入门到精通的各个时期分享文章,帮助自己深入理解和掌握,以期提高工作中SQL性能优化的思维和能力。同时也希望能够帮助到大家提高数据库使用能力和避免踩坑。
架构师大卫
专注于C、PHP、GO等语言开发,精通Linux内核、分布式架构和微服务,博客达人,后端优质创作者,极客签约作者、阿里云栖博主
展开
-
MySQL中select count(*) 和 count(1) 的区别
在MySQL中count(*) 或者 count(1) 或者 count(某一字段) 是最常用的聚合函数。在做SQL优化时,很多人建议不使用count(*)而是使用count(1),从而可以提升性能,给出的理由是count(*)会带来全表扫描。1、count(1):可以统计表中所有数据,不统计所有的列,用1代表代码行,在统计结果中包含列字段为null的数据;列名为主键,count(列名)比count(1)快;2、count(字段):只包含列名的列,统计表中出现该字段的次数,并且不统计字段为null的情况;原创 2023-05-24 13:22:58 · 1117 阅读 · 0 评论 -
MySQL存储过程中使用事务
EXECUTE stmt(如果sql有参数的话,USING @xxx):执行预定义的sql。DEALLOCATE PREPARE stmt:释放变量。PREPARE:预定义好的sql放入stmt中。DECLARE: 存储过程及函数内部定义变量。DEFINER:指明谁有权力来执行;BEGIN:存储过程结构体的开始;END:存储过程结构体的结束;DEFAULT:默认值。原创 2023-05-24 21:12:06 · 367 阅读 · 1 评论