文章分类 - mysql
摘要:delimiter 关键字 定义结束标记。 因为存储过程体中要写 多条sql语句。而mysql中默认的 “ ;” 是结束标记。 如果 要写多条sql,每条sql 结束都要加上 “;” ,sql就不能一起执行了。所以有必要 重新定义一个结束标记。 用法 :delimiter 【$】 如: delimi
阅读全文
摘要:自定义变量:是用户自己定义的。不是由 系统提供的, 1.用户变量。 作用域:当前会话连接有效。应用在任务地方。可以在begin end 里面,也可以是外面。 2。局部变量。 作用域 : 仅仅在begin end 里面有效 全局变量和局部变量的区别: 局部声明 要加 declare 还要加类型。, 赋
阅读全文
摘要:注意要先 begin 在往 查询语句后面加 for update。 数据库其他连接 除了不能 对这条作update操作。其他操作都能做。
阅读全文
摘要:mysql表 t1 中有 两个字段 a 和 b 分别是 int 和 varchar 类型。 对a 和 b建立联合索引。 update t1 set a = 100 where b = 3; //sql成功执行,因为 b 是varchar 类型。可是没有加上 '' 符号。由于mysql 底层会自动转型
阅读全文
摘要:1.故障重现。 2.开启慢查询日志 3.explain 分析sql 一般第三步就能对99%的sql进行优化了。 4.show profile 5.找运维经理 mysql服务器参数调优 全局查询日志(只能测试环境用)
阅读全文
摘要:show profile 是什么? 查询是否支持和开启 show VARIABLES like '%profiling%'; 执行 show profiles 查询最近的 15条sql show profiles; 诊断sql show profile 参数列表 出现以下情况开发需要注意。
阅读全文
摘要:慢查询日志是默认关闭的。 查看慢查询日志: show variables like '%slow_query_log%'; 开启(当前数据库生效,数据库重启则失效) set GLOBAL slow_query_log =1 ; 不建议长久开启。 什么样的sql会被记录到查询日志中呢? 默认10秒的s
阅读全文
摘要:show ENGINES; 查询数据库所有引擎; show variables like '%storage_engine%'; 查询数据库当前使用的引擎 ; MyISAM 和Innodb 的不同点 :口诀:外键事务锁缓存。
阅读全文
摘要:其实in和exist两者对数据遍历的次数是一样的,只不过是连接次数不一样。假如A表有100个记录,B表有10000个记录,如果用in来查询,则需要遍历整个B,每次都要与A建立一次连接,总共要10000次连接;如果用exist,那么需要遍历A,再来与B连接,这样只需要建立100次连接。因为连接是比较耗
阅读全文
摘要:两表索引建立 左连接右表建立索引。 右连接左表建立索引。 即反着来。 三表索引建立 避免索引 失效 即带头大哥不能死,中间兄弟不能断 第八条。like %abc %写左边会索引失效, 写右边会使用索引。 但是有需求,需要 两边都加% .可以使用索引覆盖方法,去解决,(即建立索引和查询的字段一 一对应
阅读全文
摘要:id,type ,key 是三个关键的衡量指标。 id 的作用: 1。id相同 2.id不同 3 id 相同不同, 同时存在 select _type type impossible key 和key key_len row :数字越低越好。 extra Using filesort 出现 ,如果可
阅读全文
摘要:什么是索引? 索引是一种快速排序查找的数据结构。 索引的优势 索引的劣势 索引的检索原理。 索引的创建? create index idx_table_columnName on table(columnName) ,一张表最多不建立超过5个索引。高并发下最好建立联合索引。 什么情况下创建索引? 1
阅读全文

浙公网安备 33010602011771号