![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
懒得去死
MySQL Principal Support Engineer
展开
-
Oracle 的INSTR函数MySQL实现
Oracle 函数INSTR的MySQL实现。原创 2015-12-05 15:30:49 · 5691 阅读 · 1 评论 -
PostgreSQL 实现MySQL "insert ignore" 语法。
PostgreSQL 实现MySQL的“INSERT IGNORE” 语法。原创 2014-01-16 15:45:43 · 11139 阅读 · 2 评论 -
MySQL 实现Oracle或者PostgreSQL的row_number over 这样的排名语法
MySQL 的row_number() over() 实现。原创 2014-01-10 16:49:00 · 8787 阅读 · 1 评论 -
MySQL里求给定的时间是所在月份的第几个礼拜
Share 一个昨天写的函数。 目的是求给定的时间是所在月份的第几个礼拜。DELIMITER $$USE `t_girl`$$DROP FUNCTION IF EXISTS `weekofmonth`$$CREATE DEFINER=`root`@`localhost` FUNCTION `weekofmonth`( f_datetime DATETIME原创 2013-06-20 15:48:23 · 2441 阅读 · 1 评论 -
mysql-utilities工具体验
我主要体验了下几个关于REPLICATION的工具。 其他的可以参见手册。先说下我的环境:MASTER: 192.168.1.131SLAVE: 192.168.1.132, 192.168.1.133三台DB都有对外的ALL权限用户。各个配置文件如下,[root@mysql56-master home]# cat /etc/my.cnf[mysqld]user = yttskip-name原创 2013-05-14 13:32:02 · 2399 阅读 · 0 评论 -
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 · 2019 阅读 · 0 评论 -
MySQL 5.6 新增的两个密码安全策略体验
随着MySQL 5.6 的GA, MySQL在一些细节上越来越美。 今天来体验下两个安全验证方面的细节提升。1. mysql_config_edit 工具。 可以用来加密用户的密码,增强数据库安全。使用方法:t@ytt-centos6-3 ~]$ mysql_config_editor set --login-path=itsmine --host=localhost --user=ytt --p原创 2013-04-10 11:43:51 · 8428 阅读 · 1 评论 -
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 · 2771 阅读 · 0 评论 -
MySQL 5.6 置换分区体验
MySQL 5.6.10 正式版发布好多天了, 经常使用分区的朋友有福了。 MySQL 5.6 增加了对分区的置换功能。今天我们来体验下关于置换分区的功能。 两张示例表,t1为分区表,t2为普通的INNODB表。t1 表结构:t2 表结构:造数据脚本:置换分区演示:恢复原始分区演示:原创 2013-03-07 11:21:01 · 2408 阅读 · 0 评论 -
MySQL 生成随机密码
我简化了步骤, 比之前的更加简洁,常规生成随机密码。DELIMITER $$USE `t_girl`$$DROP FUNCTION IF EXISTS `func_range_string_mod`$$CREATE DEFINER=`root`@`localhost` FUNCTION `func_range_string_mod`( f_num INT UNSIGNED原创 2013-03-06 18:19:03 · 4655 阅读 · 1 评论 -
利用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 · 4154 阅读 · 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 · 3148 阅读 · 3 评论 -
复制中临时表的运用TIPS
我们知道, 临时表有以下特性:1. SESSION 级别, SESSION 一旦断掉,就被自动DROP 了。2. 和默认引擎有关。 如果默认引擎是INNODB,而你又疯狂的使用临时表。那么,你的IBDATA会被无限的增大。3. 和磁盘表一样,默认写入到binlog, 而且被动的加入了rollback 计划。幻想如下场景: 数据库损坏,也没有备份。刚好二进制日志全部保存完好, 幸福了。 导入二进原创 2012-09-03 12:01:06 · 1858 阅读 · 0 评论 -
MySQL 5.5 新增SIGNAL异常处理
MySQL 从 5.0 开始支持存储过程,到现在最新版本5.5 已经好几个年头了。 虽然MYSQL的异常处理不是很完善,但是处理大多数的应用还是足够了。异常处理的语句有如下几种:1. DECLARE ... CONDITION.2. DECLARE ... HANDLER.3. RESIGNAL.4. SIGNAL.第一种,名为条件声明。DECLARE condition_name CONDITI原创 2012-08-01 11:33:56 · 11869 阅读 · 1 评论 -
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 · 2025 阅读 · 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 · 2890 阅读 · 1 评论 -
MySQL 在读取异常错误缓冲区方面的提升(MySQL5.6)
先来解释下什么是错误缓冲区?在MySQL里面, 错误缓冲区只记录最近一次出现的错误, 只要是有新的错误产生,旧的就会被覆盖掉。 所以想知道产生了什么错误,就得在每个有可能发生错误的语句后面紧跟着"show warnings" 或者 "show errors"。 最简单的方法是把输出的结果重定向到自己定义的日志文件里面,这样就可以方便后续查看。当然如果想随时查看这些错误,我们就得通过MySQL提供的原创 2012-08-07 09:37:50 · 2160 阅读 · 0 评论 -
MySQL 5.5 的COMPRESSED INNODB 表
从5.5开始,INNODB 引擎也可以像MYISAM引擎一样来进行压缩了。 当然压缩后的表没事你也别INSERT 或者 UPDATE了。 DELETE 就无所谓了,只是MARK下,完了再批量删除。 这点和BRIGHTHOUSE 引擎倒是一致。 当然了, 并不是所有的表都适合压缩,然后进行读取。 应用场景,数据的分布,以及硬件的资源都制约了是否要进行压缩。这个时候来说,最好的办法就是进行压力测试,看原创 2012-07-19 17:36:06 · 2222 阅读 · 1 评论 -
状态值在数据库中的检索
状态值在关系型数据库中的优化策略。原创 2014-03-03 13:02:06 · 1923 阅读 · 0 评论 -
MySQL 模拟PostgreSQL generate_series 表函数
MySQL 模拟PGSQL generate_series 表函数示例。原创 2014-03-06 11:18:43 · 4404 阅读 · 0 评论 -
MySQL 优化器可选开关详解
对MySQL 优化器的可选开关进行了详细解释。原创 2014-03-13 16:17:09 · 4873 阅读 · 0 评论 -
REDIS与MYSQL实现标签的对比
REDIS 与MYSQL标签设计解析原创 2015-12-16 10:08:04 · 4783 阅读 · 0 评论 -
MySQL 5.7 SYS系统SCHEMA
MySQL5.7 SYS系统模式详解原创 2015-11-25 09:51:43 · 6234 阅读 · 1 评论 -
MySQL5.7 虚拟列实现表达式索引
MySQL5.7 虚拟列模拟表达式索引原创 2015-11-13 11:28:22 · 10461 阅读 · 1 评论 -
MySQL5.7 JSON类型使用介绍
MySQL5.7 JSON类型使用简介。原创 2015-11-10 15:10:01 · 50198 阅读 · 5 评论 -
PostgreSQL 快速创建空表TIPS
如何用PostgreSQL 快速创建空表原创 2014-12-08 10:08:03 · 2379 阅读 · 0 评论 -
MySQL 返回更新值(RETURNING)
MySQL 返回刚更新过的记录。原创 2014-12-01 10:21:50 · 32171 阅读 · 6 评论 -
利用MySQL 的GROUP_CONCAT函数实现聚合乘法
利用MySQL GROUP_CONCAT函数实现聚合乘法。原创 2014-10-21 14:10:30 · 10848 阅读 · 0 评论 -
MySQL 模拟Oracle邻接模型树形处理
MySQL 实现ORACLE connect by 遍历树形结构。原创 2014-11-04 16:40:06 · 4237 阅读 · 0 评论 -
MySQL新旧版本ORDER BY 处理方法
MySQL5.7对排序规则的提升。原创 2014-06-24 11:34:01 · 4297 阅读 · 0 评论 -
日志表设计一例分析
关于日志关系表设计一列分析。原创 2014-05-21 11:05:07 · 12760 阅读 · 0 评论 -
MySQL 以及 Python 实现排名窗口函数
MySQL 以及Python 实现排名窗口函数一例。原创 2014-05-14 09:16:50 · 4481 阅读 · 0 评论 -
MySQL和PostgreSQL 导入数据对比
MySQL 和 PostgreSQL 导入数据功能对比。原创 2014-05-19 09:58:24 · 4051 阅读 · 1 评论 -
MariaDB 实现函数索引
利用MariaDB的虚拟列实现函数索引。原创 2014-04-03 17:13:12 · 3457 阅读 · 0 评论 -
MySQL 模拟条件索引
MySQL 模拟其他关系型数据库的条件索引。原创 2014-04-02 19:16:07 · 2749 阅读 · 0 评论 -
如何防止表被清空
数据库中如何防止表被清空。原创 2014-04-16 12:34:56 · 1943 阅读 · 0 评论 -
MySQL 存储过程调试工具商业和免费
MySQL 存储过程代码的调试。原创 2014-03-21 10:51:05 · 2937 阅读 · 2 评论 -
TokuDB和InnoDB的读写分析与比较
TokuDB与InnoDB的读写性能分析。原创 2014-03-14 11:55:39 · 8539 阅读 · 1 评论 -
MySQL 5.5 PROXY USER 伪装用户
自从MySQL 5.5 发布第一个版本以来,就在GRANT权限列表里面新增加了一条记录: PROXY。 不要以为这个是以前的MySQL Proxy 哦。其实这个是用来给用户做马甲用的。 我们来看下具体用法吧。这里,我用的是MYSQL 5.2.23.安装插件哦 现在我们来做对应的操作。 先创建真实用户:现在创建PROXY USER:行了,我们来退出,试试这个伪装用户。 下图中,如果伪装没成功,那么@原创 2012-05-18 13:24:08 · 3186 阅读 · 2 评论 -
MySQL 爱生活群开放加入喽
群号码:92099217 群目的: 讨论MySQL 技术,认识MySQL 爱好者。已经重新开放加入喽。原创 2009-10-16 15:24:00 · 3293 阅读 · 21 评论