![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
innodb
懒得去死
MySQL Principal Support Engineer
展开
-
MySQL 5.5 的COMPRESSED INNODB 表
从5.5开始,INNODB 引擎也可以像MYISAM引擎一样来进行压缩了。 当然压缩后的表没事你也别INSERT 或者 UPDATE了。 DELETE 就无所谓了,只是MARK下,完了再批量删除。 这点和BRIGHTHOUSE 引擎倒是一致。 当然了, 并不是所有的表都适合压缩,然后进行读取。 应用场景,数据的分布,以及硬件的资源都制约了是否要进行压缩。这个时候来说,最好的办法就是进行压力测试,看原创 2012-07-19 17:36:06 · 2221 阅读 · 1 评论 -
TokuDB和InnoDB的读写分析与比较
TokuDB与InnoDB的读写性能分析。原创 2014-03-14 11:55:39 · 8531 阅读 · 1 评论 -
MySQL 优化器可选开关详解
对MySQL 优化器的可选开关进行了详细解释。原创 2014-03-13 16:17:09 · 4862 阅读 · 0 评论 -
查找原始MySQL死锁ID
如果遇到死锁了,怎么解决呢?找到原始的锁ID,然后KILL掉一直持有的那个线程就可以了, 但是众多线程,可怎么找到引起死锁的线程ID呢? MySQL 发展到现在,已经非常强大了,这个问题很好解决。 直接从数据字典连查找。我们来演示下。线程A,我们用来锁定某些记录,假设这个线程一直没提交,或者忘掉提交了。 那么就一直存在,但是数据里面显示的只是SLEEP状态。mysql> set @@autocom原创 2013-04-18 18:01:10 · 3483 阅读 · 4 评论 -
MySQL 最新商业版备份工具使用方法
买了商业版的用户,可以用商业的备份工具来备份MYSQL数据库, 我来示范下如何备份与恢复。其中包括全量备份和增量备份。备份方法全量:mysqlbackup --defaults-file="H:\Program Files\MySQL\mysql-advanced-5.6.10-winx64\my.ini" --port=3313 --protocol=tcp --user=root --pass原创 2013-04-27 14:00:45 · 2017 阅读 · 0 评论 -
MySQL 5.6 MEMCACHED API 体验
MySQL 5.6给我们带了MEMCACHED FOF INNODB 的 API。 最主要的好处就是我们可以通过最熟悉不过的SQL语句来对MEMCACHED 的插件进行读写。安装以及配置方面我就不介绍了, 有需要的可以访问官方手册。 这里呢,我主要来演示下效果。容器表内容:我的示例表结构:MEMCACHED API的示例代码:TELNET 来查看MEMCACHED 插件:我们可以看到,有了对INN原创 2013-03-13 11:46:55 · 2770 阅读 · 0 评论 -
MySQL 5.6 置换分区体验
MySQL 5.6.10 正式版发布好多天了, 经常使用分区的朋友有福了。 MySQL 5.6 增加了对分区的置换功能。今天我们来体验下关于置换分区的功能。 两张示例表,t1为分区表,t2为普通的INNODB表。t1 表结构:t2 表结构:造数据脚本:置换分区演示:恢复原始分区演示:原创 2013-03-07 11:21:01 · 2407 阅读 · 0 评论 -
利用MySQL触发器高性能造数据
MySQL 触发器功能比较简单,大部分只用来简单的更新第三方表,今天我来演示下MySQL触发器在造数据方面的功效。 下面是基表结果:CREATE TABLE `tb1` ( `id` varchar(255) NOT NULL, `log_date` date DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSE原创 2012-11-22 12:59:05 · 4153 阅读 · 2 评论 -
MySQL 5.6 MRR 的存储过程完美诠释
MySQL 5.6 即将发布, 5.6对优化器方面做了诸多优化。 我这次主要解释MRR(MULTI-RANGE-READ)。我用存储过程解释了这一过程的改变。大家细心体会去吧。我们针对语句:select log_time from person where nick_name = 'Lucy';表结构为:CREATE TABLE `person` ( `id` int(10) unsigned原创 2012-08-24 10:49:27 · 3144 阅读 · 3 评论 -
ORACLE的几个函数在MYSQL里面的简单实现
最忌在做ORACLE到MYSQL得迁移,以下我写了三个简单的MYSQL里面米有的函数。 供大家参考。 判断是否为时间?DELIMITER $$USE `ytt`$$DROP FUNCTION IF EXISTS `is_date`$$CREATE DEFINER=`root`@`localhost` FUNCTION `is_date`(f_in CHAR(19)) RETUR原创 2012-08-13 11:54:56 · 2023 阅读 · 0 评论 -
基于MySQL 水平分区的优化示例
我们知道,MYSQL 5.1开始支持水平分区功能。 我们来尝试下如何在已经分区的表上面做查询优化。总体来说,优化的原则和对单独的表做优化是一样的,保证对磁盘上表的扫描次数减小。我们的表结构如下:这里已经插入2W多行数据进行测试。看看这条查询。SELECT * FROM t1 WHERE system_type IN (1,2)UNION ALLSELECT * FROM t1 WHERE syst原创 2012-07-24 11:51:34 · 2887 阅读 · 1 评论 -
MySQL 在读取异常错误缓冲区方面的提升(MySQL5.6)
先来解释下什么是错误缓冲区?在MySQL里面, 错误缓冲区只记录最近一次出现的错误, 只要是有新的错误产生,旧的就会被覆盖掉。 所以想知道产生了什么错误,就得在每个有可能发生错误的语句后面紧跟着"show warnings" 或者 "show errors"。 最简单的方法是把输出的结果重定向到自己定义的日志文件里面,这样就可以方便后续查看。当然如果想随时查看这些错误,我们就得通过MySQL提供的原创 2012-08-07 09:37:50 · 2159 阅读 · 0 评论 -
MariaDB 实现函数索引
利用MariaDB的虚拟列实现函数索引。原创 2014-04-03 17:13:12 · 3451 阅读 · 0 评论