`
kongzimengsheng1
  • 浏览: 66676 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
今天遇到最棘手的问题,就是网站速度很慢,并且是一阵一阵的,用show processlist, 也有可能遭到攻击,对sql进行了优化,尽量减少嵌套查询,而是采用空间换时间,新建表,通过任务更新到新表 processlist命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句,两种方式使用这个命令。 1.       进入mysql/bin目录下输入mysqladmin processlist; 2.       启动mysql,输入show processlist; 如果有 SUPER 权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的MySQL ...
        完成相同功能,二种不同方式;    下一种速度快一些;          1. mysql> select * from wanyouxi where youxitag='bird' ORDER BY credits desc limit 1;     2. +-------+------+--------+------------+---------+------------+------+-----+------+     3. | id    | uid  | gameid | youxitag| credits | dateline   | type | ...
    * 未提交读(Read Uncommitted):允许脏读,也就是可能读取到其他会话中未提交事务修改的数据     * 提交读(Read Committed):只能读取到已经提交的数据。Oracle等多数数据库默认都是该级别     * 可重复读(Repeated Read):可重复读。在同一个事务内的查询都是事务开始时刻一致的,InnoDB默认级别。在SQL标准中,该隔离级别消除了不可重复读,但是还存在幻象读     * 串行读(Serializable):完全串行化的读,每次读都需要获得表级共享锁,读写相互都会阻塞 查看InnoDB系统级别的事务隔离级别: mysql> SE ...
MySQL压力测试工具mysqlslap 作者:NinGoo | 【转载须以超链接形式标明文章原始出处和作者信息】 MySQL从5.1.4版开始带有一个压力测试工具mysqlslap,通过模拟多个并发客户端访问mysql来执行测试,使用起来非常的简单。通过mysqlslap –help可以获得可用的选项,这里列一些主要的参数,更详细的说明参考官方手册。     –auto-generate-sql, -a     自动生成测试表和数据     –auto-generate-sql-load-type=type     测试语句的类型。取值包括:read,key,write,update和m ...
MySQL的客户端命令行工具,有很多方便使用者的特性,某些方面甚至可以说比Oracle的sqlplus更加人性化。当然从整体来说,还是sqlplus更加方便些,这么说或许是我对sqlplus更加熟悉吧。这里记录下MySQL命令行几个比较常用的特性。 1.使用\G按行垂直显示结果 如果一行很长,需要这行显示的话,看起结果来就非常的难受。在SQL语句或者命令后使用\G而不是分号结尾,可以将每一行的值垂直输出。这个可能也是大家对于MySQL最熟悉的区别于其他数据库工具的一个特性了。 mysql> select * from db_archivelog\G ******************* ...

优秀MYSQL DBA 书

MySQL性能调优与架构设计 深入理解MySQL核心技术 深入浅出MySQL--数据库开发、优化与管理维护 163dba力作,我打算买一本; 高性能MySql(第2版)(英文影印版) 打算买一本[:)]
mysql sql 优化图书一章
mysql查询重复字段 老蒋记事本 数据库中有个大表,需要查找其中的名字有重复的记录id,以便比较。 如果仅仅是查找数据库中name不重复的字段,很容易 SELECT min(`id`),`name` FROM `table` GROUP BY `name`; 但是这样并不能得到说有重复字段的id值。(只得到了最小的一个id值) 查询哪些字段是重复的也容易 SELECT `name`,count(`name`) as count FROM `table` GROUP BY `name` HAVING count(`name`) >1 ORDER BY count DESC; 但 ...
http://jnote.cn/blog/mysql/mysql-rand-efficiency.html 老蒋记事本 mysql使用rand随机查询记录效率测试 一直以为mysql随机查询几条数据,就用 SELECT * FROM `table` ORDER BY RAND() LIMIT 5 就可以了。 但是真正测试一下才发现这样效率非常低。一个15万余条的库,查询5条数据,居然要8秒以上 查看官方手册,也说rand()放在ORDER BY 子句中会被执行多次,自然效率及很低。 You cannot use a column with RAND ...
关于MySQL表设计应该注意的问题(做了点修改) 关于设计表时应该注意的问题 如有错误欢迎大家指出。这段时间在家里,做了点修正。 1、慎重选择表名。 有两种选择: 按照多数开发语言的命名规则。比如(myCustomer)。 按照多数开源思想命名规则。比如(my_customer)。 按照咱们中国人的思想。比如(我的客户)。 第一种有个缺点,很容易忘掉大写的字母。 第二种则比较好,每个WORD间用下划线连接,避免遗忘。 第三种建议不要用,虽然很好记。不觉得解析这个表的时候还需要编码转化吗?我个人理解,大家可以补充。 2. 关于 ...
也来谈一下随即查询数据的效率问题 看到这篇文章: http://jnote.cn/blog/mysql/mysql-rand-efficiency.html 我做了些测试: mysql> show create table song\G *************************** 1. row *************************** Table: song Create Table: CREATE TABLE `song` ( `id` int(11) NOT NULL auto_increment COMMENT ...
用mysqlslap对MySQL进行压力测试 http://blog.chinaunix.net/u/29134/showart_970894.html MySQL5.1地的确提供了好多有力的工具来帮助我们DBA进行数据库管理。 现在看一下这个压力测试工具mysqlslap. 关于他的选项手册上以及--help介绍的很详细。 我解释一下一些常用的选项。 这里要注意的几个选项: --concurrency代表并发数量,多个可以用逗号隔开,当然你也可以用自己的分隔符隔开,这个时候要用到--delimiter开关。 --engines代表要测试的引擎,可以有多个,用分隔符隔开。 ...
http://blog.chinaunix.net/u/29134/showart_1332349.html MySQL分表优化试验 我们的项目中有好多不等于的情况。今天写这篇文章简单的分析一下怎么个优化法。 这里的分表逻辑是根据t_group表的user_name组的个数来分的。 因为这种情况单独user_name字段上的索引就属于烂索引。起不了啥名明显的效果。 1、试验PROCEDURE. DELIMITER $$ DROP PROCEDURE `t_girl`.`sp_split_table`$$ CREATE PROCEDURE `t_girl`.`sp ...
http://blog.chinaunix.net/u/29134/showart_1333566.html 【原创】关于MySQL分页的优化 关于分页的优化。 我们知道,在MySQL中分页很简单,直接LIMIT page_no,page_total 就可以了。 可是当记录数慢慢增大时,她就不那么好使了。 这里我们创建摘要表来记录页码和原表之间的关联。 下面为测试数据。 原表: CREATE TABLE `t_group` ( `id` int(11) NOT NULL auto_increment, `money` decimal(10,2) NOT ...
网易开源软件镜像站点 找起来方便 http://mirrors.163.com/
Global site tag (gtag.js) - Google Analytics