不灭的火

革命尚未成功,同志仍须努力下载JDK17

作者:AlbertWen  添加时间:2013-07-10 10:30:18  修改时间:2025-04-19 08:19:28  分类:MySQL/Redis  编辑

例:获取account_name字段中‘_’的个数

select length(account_name) - length(REPLACE (account_name, '_', '')) from user 
作者:AlbertWen  添加时间:2014-05-18 11:18:27  修改时间:2025-04-23 04:15:48  分类:MySQL/Redis  编辑

1.Windows版本的下载地址为:  memcached-1.2.6-win32-bin.zip 

将压缩文件解压到  D:/PHP/Memcached/

2. 在CMD下输入 "D:/PHP/Memcached/memcached.exe -d install" 安装。

3. 再输入:"D:/PHP/Memcached/memcached.exe -d start"。

作者:AlbertWen  添加时间:2014-06-27 14:40:00  修改时间:2025-04-26 04:19:22  分类:MySQL/Redis  编辑

如果你没有修改过MySQL的配置,缺省情况下,wait_timeout 的初始值是28800

wait_timeout过大有弊端,其体现就是MySQL里大量的SLEEP进程无法及时释放,拖累系统性能,不过也不能把这个指设置的过小,否则你可能会遭遇到“MySQL has gone away”之类的问题,通常来说,我觉得把wait_timeout设置为10是个不错的选择,但某些情况下可能也会出问题,比如说有一个CRON脚本,其中两次SQL查询的间隔时间大于10秒的话,那么这个设置就有问题了(当然,这也不是不能解决的问题,你可以在程序里时不时 mysql_ping 一下,以便服务器知道你还活着,重新计算wait_timeout时间):

作者:AlbertWen  添加时间:2014-06-27 13:38:00  修改时间:2025-04-25 22:34:37  分类:MySQL/Redis  编辑

这篇文章很多地方只是翻译了my.cnf原始配置文件的说明

以下原文中有些参数事实上不适用于MySQL5.5,不知道原作者是否有经过实际测试,比如log-slow-queries应该写成slow-query-log,而log_long_format这个干脆就直接不支持了,回头我再重新整理一份靠谱点的参数说明吧

作者:AlbertWen  添加时间:2014-06-27 13:18:00  修改时间:2025-04-23 17:10:07  分类:MySQL/Redis  编辑

对于任何一个数据库管理系统来说,内存的分配使用绝对可以算的上是其核心之一了,所以很多希望更为深入了解某数据库管理系统的人,都会希望一窥究竟,我也不例外。

这里给出方案

按照下面的设置试试看:

key_buffer_size= 3840M
max_allowed_packet = 16M
table_cache = 1024
sort_buffer_size = 32M
read_buffer_size = 32M
read_rnd_buffer_size = 32M
myisam_sort_buffer_size = 256M
thread_cache_size = 32
query_cache_size = 256M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8

其中key_buffer_size 上限是 4G,不能再多了。

作者:AlbertWen  添加时间:2014-06-27 11:39:00  修改时间:2025-04-19 08:04:16  分类:MySQL/Redis  编辑

程序中报错: MySQL server has gone away 是什么意思? 如何避免?

因此,感觉有必要总结一下发生这个问题的原因。今天正好看到一篇外文blog总结的比较好,就翻译过来了:

原文:http://ronaldbradford.com/blog/sqlstatehy000-general-error-2006-mysql-server-has-gone-away-2013-01-02/

作者:AlbertWen  添加时间:2014-06-27 10:51:00  修改时间:2025-04-24 08:26:39  分类:MySQL/Redis  编辑

show processlist; 命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句,两种方式使用这个命令。

方式1:进入mysql/bin目录下输入mysqladmin processlist;
方式2:启动mysql,输入show processlist;
如果有SUPER权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的MySQL帐户运行的线程)。

作者:AlbertWen  添加时间:2017-10-27 19:50:51  修改时间:2025-04-23 22:16:13  分类:MySQL/Redis  编辑

作者:AlbertWen  添加时间:2014-06-19 23:40:00  修改时间:2025-04-19 08:07:40  分类:MySQL/Redis  编辑

可以使用explain来分析MySQL查询性能,举例如下:

1、使用explain语句去查看分析结果

如 explain select * from test1 where id=1; 

会出现:

id  selecttype  table  type possible_keys  key key_len  ref rows  extra各列。

其中:

type=const表示通过索引一次就找到了;

key=primary的话,表示使用了主键;

type=all,表示为全表扫描;

key=null表示没用到索引。

type=ref,因为这时认为是多个匹配行,在联合查询中,一般为REF。

作者:AlbertWen  添加时间:2014-06-16 22:39:00  修改时间:2025-04-27 00:42:29  分类:MySQL/Redis  编辑

对MySQL自身的优化主要是对其配置文件my.cnf中的各项参数进行优化调整。下面我们介绍一些对性能影响较大的参数。 由于my.cnf文件的优化设置是与服务器硬件配置息息相关的,因而我们指定一个假想的服务器硬件环境:CPU: 2颗Intel Xeon 2.4GHz 内存: 4GB DDR 硬盘: SCSI 73GB(很常见的2U服务器)