易截截图软件、单文件、免安装、纯绿色、仅160KB

mysql 提升命中率

Query Cache 在提高数据库性能方面具有非常重要的作用。
其设定也非常简单,仅需要在配置文件写入两行: query_cache_type 和 query_cache _size,而且 MySQL 的 query cache 非常快!而且一旦命中,就直接发送给客户端,节约大量的 CPU 时间。
当然,非 SELECT 语句对缓冲是有影响的,它们可能使缓冲中的数据过期。一个 UPDATE 语句引起的部分表修改,将导致对该表所有的缓冲数据失效,这是 MySQL 为了平衡性能而没有采取的措施。因为,如果每次 UPDATE 需要检查修改的数据,然后撤出部分缓冲将导致代码的复杂度增加。
query_cache_type 0 代表不使用缓冲, 1 代表使用缓冲,2 代表根据需要使用。
设置 1 代表缓冲永远有效,如果不需要缓冲,就需要使用如下语句:
SELECT SQL_NO_CACHE * from my_table WHERE ...
如果设置为 2 ,需要开启缓冲,可以用如下语句:
SELECT SQL_CACHE * from my_table WHERE ...
用 SHOW STATUS 可以查看缓冲的情况:
mysql> show status like 'Qca%';
+-------------------------+----------+
| Variable_name | Value |
+-------------------------+----------+
| Qcache_queries_in_cache | 8 |
| Qcache_inserts | 545875 |
| Qcache_hits | 83951 |
| Qcache_lowmem_prunes | 0 |
| Qcache_not_cached | 2343256 |
| Qcache_free_memory | 33508248 |
| Qcache_free_blocks | 1 |
| Qcache_total_blocks | 18 |
+-------------------------+----------+
8 rows in set (0.00 sec)
如果需要计算命中率,需要知道服务器执行了多少 SELECT 语句:
mysql> show status like 'Com_sel%';
+---------------+---------+
| Variable_name | Value |
+---------------+---------+
| Com_select | 2889628 |
+---------------+---------+
1 row in set (0.01 sec)
在本例中, MySQL 命中了 2,889,628 条查询中的 83,951 条,而且 INSERT 语句只有 545,875 条。因此,它们两者的和和280万的总查询相比有很大差距,因此,我们知道本例使用的缓冲类型是 2 。
而在类型是 1 的例子中, Qcache_hits 的数值会远远大于 Com_select 。


相关文档:

优化MySQL插入方法的五个妙招

原文链接 http://database.51cto.com/art/200904/117957.htm
以下是涉及到插入表格的查询的5种改进方法:
1)使用LOAD DATA INFILE从文本下载数据这将比使用插入语句快20倍。
2)使用带有多个VALUES列表的INSERT语句一次插入几行这将比使用一个单行插入语句快几倍。调整bulk_insert_buffer_size变量也能提高(向包含行的表 ......

mysql limit 分页 Rubicon

LIMIT子句可以被用来限制SELECT语句返回的行数。LIMIT取1个或2个数字参数,如果给定2个参数,第一个指定要返回的第一行的偏移量,第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。 mysql> select * from table LIMIT 5,10; # Retrieve rows 6-15 如果给定一个参数,它指出返回行的最大数目。 mysql> select * ......

mysql存储过程简介

摘自http://blog.csdn.net/ljah/archive/2006/11/08/1373959.aspx
格式:
CREATE PROCEDURE 过程名 ([过程参数[,...]])
[特性 ...] 过程体
CREATE FUNCTION 函数名 ([函数参数[,...]])
RETURNS 返回类型
[特性 ...] 函数体
过程参数:
[ IN | OUT | INOUT ] 参数名 参数类型
函数参数:
参数名 参数类型
返回类型: ......

Ubuntu下MySQL服务管理

测试环境:Ubuntu 9.10 + MySQL 5.1.37-1ubuntu5
Ubuntu 在启动管理 init.d
里面关于 MySQL 的命令有:
/etc/init.d/mysql start|stop|restart|reload|force-reload|status
例如重启MySQL服务:sudo /etc/init.d/mysql restart
......

MySQL中的Show命令

      数据库的优化是系统优化的重要方面,而数据库优化的基础是基于统计数据,下面的这些命令可以帮助我们了解数据库的状态。比如用show table status from ecl where rows>10000;可以看哪些数据库表比较大,然后看看这些表的设置、索引等是否有问题。
1. show tables或show tables from dat ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号