MySQL
lianzhouxiaowu
软件开发工程师。
个人网站:http://www.chaxun007.com/
展开
-
MySQL日志
redo log 和大多数关系型数据库一样,InnoDB记录了对数据文件的物理更改,并保证总是日志先行,也就是所谓的WAL,即在持久化数据文件前,保证之前的redo日志已经写到磁盘。mysql重新启动时会检查redo log的日志,把由于mysql异常退出导致没有刷新到磁盘的数据页从redo log中恢复。 innodb_log_group_home_dir表示redo log的目录;inno原创 2017-07-05 14:39:43 · 447 阅读 · 0 评论 -
MySQL insert技巧
示例表:CREATE TABLE `user` ( `user_id` int(11) AUTO_INCREMENT , `user_name` varchar(50) NOT NULL DEFAULT '', PRIMARY KEY `key_1` (`user_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;有责原创 2017-07-14 16:11:06 · 207 阅读 · 0 评论 -
MySQL主从
主从类型一主一从主主复制一主多从:扩展系统读取的性能,因为读是在从库读取的;多主一从:5.7开始支持联级复制—原创 2017-07-05 15:07:20 · 171 阅读 · 0 评论 -
MySQL状态
用show status命令可以查看这些变量表级锁定状态Table_locks_immediate:生表级锁定的次数。Table_locks_waited:出现表级锁定争用而发生等待的次数。如果这个状态值较高,那么说明系统中表级锁定争用现象比较严重,需要进一步分析为什么会有较多的锁定资源争用了。 Innodb行级锁定状态Innodb_row_lock_current_waits:当前正在等待锁原创 2017-07-11 14:44:48 · 213 阅读 · 0 评论 -
MySQL变量
使用show variables可以查看这些变量排序max_length_for_sort_data 当我们所有返回字段的最大长度小于max_length_for_sort_data时,MySQL会选择较新的排序算法(即把需要排序的行的列放到内存);否则选择旧的排序算法(即只把要要排序的行的指针放到内存,最后排序完了再从硬盘中获取完整的数据)。max_sort_length 在排序BLOB原创 2017-07-17 11:33:28 · 219 阅读 · 0 评论 -
MySQL hint
STRAIGHT_JOIN多表连结时,MySQL优化器要确定以谁为驱动表,也就是说以哪个表为基准。在处理此类问题时,MySQL优化器采用了简单粗暴的解决方法:哪个表的结果集小,就以哪个表为驱动表,当然MySQL优化器实际的处理方式会复杂许多,具体可以参考: [MySQL优化器如何选择索引和JOIN顺序](http://www.orczhou.com/index.php/2013/04/how-mys原创 2017-07-25 15:49:59 · 643 阅读 · 0 评论 -
MySQL在字符串类型字段上搜索整型值时无法使用索引
示例表如下:CREATE TABLE `user` ( `user_id` int(11) NOT NULL AUTO_INCREMENT, `user_name` varchar(64) NOT NULL DEFAULT '', PRIMARY KEY (`user_id`), KEY `user_name` (`user_name`)) ENGINE=InnoDB DEFAUL原创 2017-10-10 16:23:34 · 2345 阅读 · 0 评论 -
MySQL分区
RANGE说明: 按不同的值的连续的范围做分区,分区的列只能是整型类型。 示例:CREATE TABLE `user` ( `user_id` int(11) NOT NULL DEFAULT 0, `user_name` varchar(50) NOT NULL DEFAULT '', UNIQUE KEY `key_1` (`user_id`))ENGINE=I原创 2017-05-08 18:04:18 · 313 阅读 · 0 评论