
Mysql笔记
文章平均质量分 96
ppxin
工作中...
展开
-
MySQL 通用查询日志和慢查询日志分析
MySQL慢查询日志,是MySQL提供的一种日志记录。所有运行时间超过long_query_time值的SQL语句,将会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数。当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。...转载 2021-05-08 10:31:17 · 461 阅读 · 0 评论 -
MariaDB 系统状态和系统变量
一、系统变量的查看和修改SHOW VARIABLES LIKE '%join_buffer_size%';SELECT @@join_buffer_size;SET GLOBAL join_buffer_size = 262144;SET @@join_buffer_size = 262144;二、系统变量含义join_buffer_size:Setting it larger than required globally will slow down most queries t原创 2021-05-08 10:14:20 · 794 阅读 · 0 评论 -
MySQL 查询优化 之 【分析工具、索引建议、优化思路】
目录一、查询优化基本思路和原则1. 优化更需要优化的Query2. 定位优化对象的性能瓶颈3. 明确的优化目标4. 从 Explain 入手5. 多使用profile6. 永远用小结果集驱动大的结果集7. 尽可能在索引中完成排序8. 只取出自己需要的Columns9. 仅仅使用最有效的过滤条件10. 尽可能避免复杂的Join和子查询(复杂查询引起查询阻塞)二、MySQL Explain工具1、使用方法2、信息解释三、MySQL Profile工具1、 开启 pro原创 2020-09-24 16:03:18 · 909 阅读 · 1 评论 -
MySQL show profile 命令详解
1 MySQL性能分析语句show profile1.1 介绍l Query Profiler是MYSQL自带的一种query诊断分析工具,通过它可以分析出一条SQL语句的性能瓶颈在什么地方。l 通常我们是使用的explain(关注 参数 有 type key,ref,rows),以及slow query log都无法做到精确分析,但是Query Profiler却可以定位出一条SQL语句执行的各种资源消耗情况,比如CPU,IO等,以及该SQL执行所耗费的时间等。不过该工具只有在MYSQL 5.转载 2020-09-14 13:30:03 · 698 阅读 · 0 评论 -
MYSQL 复杂查询,及效率分析
目录一、子查询(或嵌套查询)1、where子查询(进行条件筛选)(1) IN子查询(2)比较运算符子查询(3)EXIST子查询(4)where子查询的示例2、select子查询(创建新字段域) --- 显示customers 表中每个客户的订单总数3、from子查询(对结果再查询)4、复杂子查询实例 --- 查询信用卡PA类型交易记录的交易额二、连接查询(或...原创 2020-09-14 13:28:31 · 806 阅读 · 0 评论 -
MySQL 表和列的别名
表的 SQL Alias 语法SELECT column_name(s)FROM table_nameAS alias_name列的 SQL Alias 语法SELECT column_name AS alias_nameFROM table_name子查询和JOIN查询 Alias 语法SELECT column_nameFROM (...) alias...原创 2019-10-10 10:03:39 · 160 阅读 · 0 评论 -
MySQL 查询语句书写和执行顺序
MySQL 语句执行的顺序,并不是按照 SQL 语句的顺序。下面是示例 SQLSELECT DISTINCT < select_list >FROM < left_table > < join_type >JOIN < right_table > ON < join_condition > //ON only for rig...原创 2019-10-10 10:02:52 · 139 阅读 · 0 评论 -
MySQL 分组查询 和 HAVING 条件
HAVING 子句在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。where只能筛选源数据字段,having多与group by 一起使用,并且条件常常是聚集函数;当有group by 时,having在group by 条件的后面,而where 在group by的前面。先对表数据进行where过滤,再对分组数据进行having过滤。...原创 2019-10-10 10:03:57 · 521 阅读 · 0 评论 -
Navicat 快捷键
SELECT * FROM information_schema.COLUMNS WHERE COLUMN_NAME='uvid'; 查询哪些表有指定字段名的SQLSELECT table_name, column_name FROM information_schema.columns WHERE column_name = 'uvid'; 查询哪些表有指定字段名的SQLSELECT col...原创 2019-06-19 16:41:19 · 103 阅读 · 0 评论 -
MySQL的数据类型
理解MySQL数据类型 避免数据库设计出现混乱本文突出介绍了MySQL支持的很多重要的数据类型,并介绍如何使用。数据库存储中的数据类型与大小各异。有些地方只存储数字类型,有些只存储文本类型,有些二者而兼之。而很多数据库支持各种专用类型:日期和时间类型,二进制字符类型以及布尔类型。选择数据类型与数据相匹配是数据库设计中最为重要的部分,因为这种类型将会影响到RDBMS的效率与性能。所以,对...转载 2019-06-20 09:14:52 · 113 阅读 · 0 评论 -
MySQL 循环语句
本文总结了mysql常见的三种循环方式:while、repeat和loop循环。还有一种goto,不推荐使用。一、while循环delimiter // #定义标识符为双斜杠drop procedure if exists test; #如果存在test存储过程则删除create procedure test()...转载 2019-06-24 10:42:30 · 7578 阅读 · 1 评论 -
MySQL的表锁、行锁及事务处理的机制
一、常见MySQL引擎对锁的支持MyISAM:不支持事务,仅实现表锁。InnoDB:支持事务,实现表锁和行锁。对于UPDATE、DELETE和INSERT语句,InnoDB会自动给涉及的数据集加排它锁;而对于普通SELECT语句,InnoDB不会加任何锁,当然我们也可以显示的为SELECT加锁,如select * from tableName where ... for update。...转载 2019-08-01 10:17:01 · 238 阅读 · 0 评论 -
MySQL Explain 命令详解
目录MySQL Explain详解一、id二、select_type三、table四、type五、possible_keys六、Key七、key_len八、ref九、rows十、Extra总结:• EXPLAIN不会告诉你关于触发器、存储过程的信息或用户自定义函数对查询的影响情况• EXPLAIN不考虑各种Cache• EXPLAIN不能显示MyS...转载 2020-09-14 12:08:53 · 128 阅读 · 0 评论 -
Mysql中,update与affected_rows的关系
在CodeIgniter中,$this->db->where(...)->update($table_name, $records); 返回是否更新成功,在数据更新与原来相同的情况下,仍然返回TRUE。$this->db->affected_rows(); 返回数据更新有变化的记录数;...原创 2019-09-24 15:52:24 · 2064 阅读 · 1 评论 -
Mysql JOIN连接终极宝典
为了更好地解释着问题,如果A JOIN B,我们不妨称作:A表为连接表(也称左表),B表为被连接表(也称右表)。总结一:返回数据结果,永远是连接表A在左边,被连接表B在右边。总结二: left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inn...原创 2019-09-27 15:16:05 · 121 阅读 · 0 评论 -
MySQL 查询优化 之 【小表驱动大表,小数据集驱动大数据集】
Mysql在进行关联表查询时,通常先对一张表A进行查询,然后将循环使用查询出来的每一条记录的关联信息,再来查询另一张表B中的记录,这样查询次数为1 + COUNT(从表A查询的记录)。所以,为了提高查询效率,需要尽量将小表作为首先查询的表,我们可以关联查询时首次使用的表A为主表,将其它表如表B成为嵌套表。一、IN和EXISTS查询根据MySQL高级知识(十)——批量插入数据脚本中的相应步骤...原创 2019-09-30 15:09:24 · 1331 阅读 · 0 评论 -
Mysql多表查询效率的研究
Mysql多表查询效率的研究(一)https://blog.youkuaiyun.com/hzz532968708/article/details/77370497MySQL的优化https://blog.youkuaiyun.com/fjj15732621696/article/details/82805342转载 2019-06-19 16:48:27 · 134 阅读 · 0 评论