表示 进入内容 699170007162
« 先前的 10 新的记录 | 下一步 10 较早的记录 »
Displaying posts with tag: 数据库 (reset)
mysql_store_result()与mysql_use_result()的区别

       在使用mysql_query()进行一个查询后,一般要用这两个函数之一来把结果存到一个MYSQL_RES *变量中。

【mysql】  【函数】  【数据库】   点击查看原文>

VC++ 操作MySql数据库

 #include MYSQL mysql;MYSQL_RES* query;//结果集MYSQL_ROW row;//记录集 //初始化if (!mysql_init(&mysql)){  //errc = 1;} //连接MYSQL                     "127.

【mysql】  【数据库】  【DB】  【IP】   点击查看原文>

Slave SQL线程阻塞时执行Slave相关命令的风险

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/slave_sql_locked_bug.html

今天做一批备机加主键的工作时,意外发现,如果有一个线程阻塞了Slave SQL线程应用日志,导致Slave SQL在Locked状态,再试图执行Slave Stop命令时,必定导致show slave status/master status等语句执行Hang死。
解决方法是只能等待锁定Slave SQL的线程结束,或者重启数据库,还没试出其他方法可以解决。已经在MySQL 5.0.68、5.1.30/34/40上重现。
搜索了Bug库,确实找到了这个bug,http://bugs.mysql.com/bug.php?id=56676,至少在5.1.50之前都会有这个问题。

[获取更多]
Percona对MySQL标准版本的改进

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/percona_vs_mysql.html

周末有空读了下Percona XtraDB对MySQL InnoDB的改进点,这里给大家分享下。

一、对可扩展性的改进:
1. 提升Buffer Pool的扩展性
InnoDB Buffer Pool一个众所周知的问题是大并发查询执行的争用,XtraDB将Buffer Pool的全局Mutex拆成了多个Mutex以减少争用。

2. 提高InnoDB IO扩展性
XtraDB增加了许多变量去调整IO到最佳状态,包括调整checkpoint、后台读写数据文件线程数等等的参数。

3. 多个回滚段

[获取更多]
Repair with keycache产生的原因和解决方法

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/slove_repair_with_keycache.html

今天给一个MyISAM的大表加索引,临时表MYD文件的大小增长非常慢,到了MYD文件创建完成后,却发现MYI文件很小,ALTER TABLE语句始终不能结束,登录MYSQL查看show processlist;发现,ALTER TABLE语句在“Repair with keycache”状态。
于是想到,myisam_max_sort_file_size参数我们设置的是10G,但是现在这个文件正好>10G一点点,于是不能用tmpdir指定的目录排序索引。于是增加myisam_max_sort_file_size参数到20G,再次ALTER …

[获取更多]
自动生成索引的脚本

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/autocreateindex_script_release.html

写了个自动建索引的脚本,基本原理是解析SQL的条件,然后得出每个条件的运算符,最后通过优先级矩阵将可以建索引的列排序求最长的序列,也就是尽可能把更多的列包含进索引。

使用方法:
./AutoCreateIndex.pl -e “你的SQL”

对于多表连接,务必将列名前跟上表名,否则无法处理,因为脚本并不连接数据库,无法判断哪个列属于那个表。
测试版本,Bug很多,欢迎提供意见。

Note: There is a file embedded within this post, please visit this post to download the file.

[获取更多]
静态编译TCMalloc到MySQL

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/static_compile_mysql_with_tcmalloc.html

Linux下的malloc函数性能问题,想必大部分在Linux下写C的人都深有感受,纷纷利用内存池来改进内存分配效率。
Google开源的tcmalloc则改进了malloc的一些效率问题,在大量malloc和free时,操作系统的内存曲线明显比Linux下malloc函数要平稳,在大并发情况下,提升程序稳定性和性能。
一般网上都是把tcmalloc动态库加到mysqld_safe中启动,但是我们的MySQL都是静态编译的,这时候动态加载是否生效呢?所以还是静态编译入MySQL好。

编译tcmalloc先要编译libunwind:

wget …

[获取更多]
数据分布对MySQL执行计划的影响

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/data_distribution_on_mysql_explain.html

以前我一直以为,MySQL优化器只会根据数据的基数来判断执行计划的优化,在5.0时,基本上只要基数达不到要求,MySQL就不会选择索引。不过从今天优化一组SQL的情况来看,5.1早已不是这样,MySQL优化器考虑了数据分布的影响,使用不同的值,对同一条SQL可能产生完全不同的执行计划。可以做如下测试。

有一张表 A (id,c1),假设采用“SELECT c1,count(*) FROM table GROUP BY c1”的方式来查看每一列每个值的数据量的结果如下:

c1 count(*)
[获取更多]
利用mysqlbinlog进行集群备份的设想

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/backup_mysql_use_mysqlbinlog.html

实现MySQL热备份的最好方法,我一直都认为是Replication,xtrabackup等各种热备脚本,都没有Replication安全方便。
面对一个大规模集群的备份,由于实例太对,没办法创建这么多实例去Replication。之前我的想法一直是通过修改MySQL的源码,扩展MySQL Replication可以创建多个M-S复制,这对MySQL本身有入侵,没办法保证我的代码能有非常高的可靠性,更严重的是要改变MySQL的语法,来支持多Master的Change语句,对.yy文件的修改风险就更大了。

[获取更多]
给开发的MySQL培训PPT

本文内容遵从CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/database/mysql_ppt_for_developer.html

为开发人员做的MySQL培训PPT三部曲,从基础技能到基本原理。

第一篇:基础技能

内部MySQL培训.1.基础技能 View more presentations from Lixun Peng.

第二篇:高级应用

内部MySQL培训.2.高级应用 View more …

[获取更多]
表示 进入内容 699170007162
« 先前的 10 新的记录 | 下一步 10 较早的记录 »