随笔分类 - MySQL
摘要: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 NOT NULL AUTO_INCREMENT, `nick_name` varchar(40) NOT NULL, `log_time` timestamp NOT NULL DEFA
阅读全文
摘要:最忌在做ORACLE到MYSQL得迁移,以下我写了三个简单的MYSQL里面米有的函数。 供大家参考。判断是否为时间?DELIMITER $$ USE `ytt`$$ DROP FUNCTION IF EXISTS `is_date`$$ CREATE DEFINER=`root`@`localhost` FUNCTION `is_date`(
f_in CHAR(19)) RETURNS TINYINT(4)
BEGIN -- Created by david.yang 2012/8/9. IF UNIX_TIMESTAMP(f_in) = 0 THEN RETUR...
阅读全文
摘要:先来解释下什么是错误缓冲区?在MySQL里面, 错误缓冲区只记录最近一次出现的错误, 只要是有新的错误产生,旧的就会被覆盖掉。 所以想知道产生了什么错误,就得在每个有可能发生错误的语句后面紧跟着"show warnings" 或者 "show errors"。 最简单的方法是把输出的结果重定向到自己定义的日志文件里面,这样就可以方便后续查看。当然如果想随时查看这些错误,我们就得通过MySQL提供的API来实现。自从MySQL 5.6 这个革命性的版本出现后,问题得到了初步解决。虽然离我们想的还差好多。MySQL 5.6 提供了 get diagnosti
阅读全文
摘要:MySQL 从 5.0 开始支持存储过程,到现在最新版本5.5 已经好几个年头了。 虽然MYSQL的异常处理不是很完善,但是处理大多数的应用还是足够了。异常处理的语句有如下几种:1. DECLARE ... CONDITION.2. DECLARE ... HANDLER.3. RESIGNAL.4. SIGNAL.第一种,名为条件声明。DECLARE condition_name CONDITION FOR condition_value这里condition_name 为标准的变量命名, condition_value 为SQLSTATE 值 或者 MySQL 自身的ERROR CODE.
阅读全文
摘要:我们知道,MYSQL 5.1开始支持水平分区功能。 我们来尝试下如何在已经分区的表上面做查询优化。总体来说,优化的原则和对单独的表做优化是一样的,保证对磁盘上表的扫描次数减小。我们的表结构如下:这里已经插入2W多行数据进行测试。看看这条查询。SELECT * FROM t1 WHERE system_type IN (1,2)UNION ALLSELECT * FROM t1 WHERE system_type = 3;这条语句对system_type字段过滤了两次,然后进行了一次UNION ALL。 但是不知道,其实对两个分区一共进行了三次全表扫描。我们改成这样:SELECT * FROM
阅读全文
摘要:从5.5开始,INNODB 引擎也可以像MYISAM引擎一样来进行压缩了。 当然压缩后的表没事你也别INSERT 或者 UPDATE了。 DELETE 就无所谓了,只是MARK下,完了再批量删除。 这点和BRIGHTHOUSE 引擎倒是一致。当然了, 并不是所有的表都适合压缩,然后进行读取。 应用场景,数据的分布,以及硬件的资源都制约了是否要进行压缩。这个时候来说,最好的办法就是进行压力测试,看看是否适合你自己的业务。下面呢,就是压缩表对应的一些新的特性。1. 压缩表只针对单表空间有效,所以设置如下参数: innodb_file_per_table innodb_file_format = B
阅读全文
摘要:如果大家用到INFOBRIGHT,对这个字眼就不陌生了。目前有4种格式。1. binary.2. txt_variable3. mysql4. infobright代表什么意思呢,我来详细解释下。BINARY 代表二进制数据。 也就是说,原始数据是以特定格式的二进制来保存。 具体格式,可以参见官方的白皮书,很容易下载到。TXT_VARIABLE 代表 CSV格式文本。默认的列分隔符为“;”。MYSQL 代表和MYSQL兼容的CSV格式文本。默认分隔符为“水平制表符“。INFOBRIGHT 呢,代表分布式导入工具(DLP)生成的中间结果集, 只能用来导入DLP的中间数据。这几种格式的载入速度按照
阅读全文
摘要:以前写过:http://blog.chinaunix.net/uid-259788-id-2139370.html这次增加了大写字母的处理。DELIMITER $$ USE `t_girl`$$ DROP FUNCTION IF EXISTS `func_rand_string`$$ CREATE DEFINER=`root`@`localhost` FUNCTION `func_rand_string`(f_num TINYINT UNSIGNED,f_type TINYINT UNSIGNED) RETURNS VARCHAR(32) CHARSET utf8
BEGIN ...
阅读全文
摘要:自从MySQL 5.5 发布第一个版本以来,就在GRANT权限列表里面新增加了一条记录: PROXY。 不要以为这个是以前的MySQL Proxy 哦。其实这个是用来给用户做马甲用的。 我们来看下具体用法吧。这里,我用的是MYSQL 5.2.23.安装插件哦 现在我们来做对应的操作。 先创建真实用户:现在创建PROXY USER:行了,我们来退出,试试这个伪装用户。 下图中,如果伪装没成功,那么@@proxy_user 这个只读变量就为NULL。我们来看看其他的:OK。 看到了,和之前的用户有一样的权限哦。
阅读全文
摘要:目前遇到这样一个外键定义:`t_girl`.`tb1` CONSTRAINT `fk_1` FOREIGN KEY (`r_id`) REFERENCES `tb1` (`id`) ON DELETE CASCADE目的是对于自己的另外一个字段进行约束, 其实这样看来, 后面的级联删除就没有必要了,因为针对的是同一张表的同一条记录。/* Trigger structure for table `tb1` */DELIMITER $$/*!50003 DROP TRIGGER*//*!50032 IF EXISTS */ /*!50003 `tr_tb1_before_insert` */$$/
阅读全文
摘要:INFOBRIGHT介绍在这里,我将结合我自己的使用以及对开源数据仓库的了解,INFOBRIGHT做下简单的介绍。INFOBRIGHT产品分为社区版ICE和企业版IEE。相信大家对ICE都有很多的了解。ICE具备了INFOBRIGHT大部分的功能,我列举如下:1. 超高的压缩比例。 普通10:1, 在极限情况下可以达到40:1 甚至更高。2. 超强劲的数据导入性能。 ICE 有自己专业的数据导入工具BHLOADER, 不过受到了一些限制,比如不能利用到多核导入。3. 超强的数据查询能力。 特别适合对于数据统计以及报表生成类得查询。4. 超大的单表存放规模。 正是因为第一点,超强的压缩比,所以可
阅读全文
摘要:把在北京4月份的PPT稍微改了下,附下载,需要的拿。点击这里下载PPT
阅读全文
摘要:2011 年 IT168的数据库架构大会上我演讲的PPT。欢迎下载。完了把后缀名从jpg 或者 gif改为pdf即可。http://hi.csdn.net/attachment/201104/17/0_1303049877E3Uv.gif
阅读全文
摘要:有幸去参加上海爱可生信息技术有限公司举办的2010年MySQL用户大会, 主办上海。 据说马上将会有北 京,西安,大连,深圳等的复办,希望以后越办越成功。 我去演讲的主题是 《MySQL开发与优化》, 主要涉及到表设计,语句优化以及存储过程等开发方面。后面会有PPT下载。不过PPT写的比较简单,就列了些条目, 纯文字,也没有精美的图匹配。 期间对我影响最深的是有人对MySQL的功能还不甚了解。因为被问到MySQL 是否支持视图? 存储过程好似很简单? MySQL 不适合大型项目?本人彻底崩溃,不知道为什么现在还有人问这样的问题。稍微想了下,原来MySQL的下载量全球第一,但是对他实际上有...
阅读全文
摘要:MySQL 有一个出类拔萃的引擎名叫BlackHole, 又名黑洞。 好多人说这个是SB, 一点用处也没有。 熟读手册,会发现以下几点: A. 检查DUMP 文件是否完整。 你可以用MYSQLDUMP 脚本单独导出表结果以及数据,然后单独检查导出文件的语法是否完整。 B. 对比开启二进制日志和不开启二进制日志对性能的损失到底有多少? 好多人期待的问题。 到底开启二进制日志与关闭它对性能的损失有多大比例呢? 黑洞可以帮你完成。 C. 在MASTER 和 SLAVE 中间充当PROXY, 缓解MASTER的压力,减少网络带宽。 在普通的MASTER 与 SLAVE 中间 充当缓解机器, 用来缓冲M
阅读全文

浙公网安备 33010602011771号