MySQL 分页查询优化 LIMIT与COUNT优化
12年前 (2013-05-27) 4835浏览 0评论
老方法 传统分页查询,一般通过COUNT()函数事先获知总记录数据$amount select count(*) as amout from tbl_name where uid = 1 然后可以通过ceil($amount / $page_size...
12年前 (2013-05-27) 4835浏览 0评论
老方法 传统分页查询,一般通过COUNT()函数事先获知总记录数据$amount select count(*) as amout from tbl_name where uid = 1 然后可以通过ceil($amount / $page_size...
12年前 (2013-05-27) 3068浏览 0评论
错误:configure: error: libevent >= 1.4.11 could not be found 解决:yum -y install libevent libevent-devel 错误:configure: ...
12年前 (2013-05-27) 2804浏览 0评论
如果你想了解MySQL索引查询优化,你首先应该对MySQL数据组织结构、B-Tree索引、聚集索引,次要索引有一定的了解,才能够更好地理解MySQL查询优化行为。这里主要探讨MySQL InnoDB的聚集索引。 InnoDB数据存储结构 1.MySQ...
12年前 (2013-05-27) 2820浏览 0评论
我们平常所说的索引,如果没有特别指明,都是指B+树结构组织的B-Tree索引。其中聚集索引,次要索引,覆盖索引,复合索引,前缀索引,唯一索引默认都是使用B+树索引,统称索引。当然,除了B+树这种类型的索引之外,还有哈稀索引(hash index)等。...
12年前 (2013-05-27) 2890浏览 0评论
buffer buffer是一个内存地址空间,Linux系统默认大小一般为4096(4kb),即一个内存页。主要用于存储速度不同步的设备或者优先级不同的设备之间传办理数据的区域。通过buffer,可以使进程这间的相互等待变少。这里说一个通俗一点的例子...
12年前 (2013-05-27) 2805浏览 0评论
展开“尽早刷新输出”话题之前,我们先来看看上图二个页面请求http瀑布图。第一个页面请求瀑布图,想必大家更常见到。即,直到index.php请求完毕之后,才开始请求a.js, b.js等资源。第二个页面改进了这种情况,没等index.php响应数据全...
12年前 (2013-05-27) 2500浏览 0评论
测试人员向我们反映:在Facebook平台的游戏比其它平台的游戏明显更慢。我询问,是不是因为翻墙网络原因。他们说:不是,其它游戏也比较流畅。使用httpwatch查看了http请求,发现api.php请求花了6秒,且大部分时间是红色(httpwatc...
12年前 (2013-05-27) 3782浏览 0评论
读懂vmstat输出之前,我们先熟悉一下linux关于虚拟内存管理知识碎片。 分配内存 OS内核进程所需内存、代码等等。我们不关心这一部分。主要关心以下二部分动态分配的内存。 用户态进程代码、全局变量与static变量、局部变量(函数参数...
12年前 (2013-05-27) 2976浏览 0评论
在一台负载不低的web服务器,通过netstat –an查看到不少的TIME_WAITM网络连接。TIME_WAIT状态,查看下图。 关于TIME_WAIT,我摘了“tcp/ip详解“第18章”tcp连接的建立与终止“里面一段话来解释TIME_WAI...
12年前 (2013-05-27) 2788浏览 0评论
更小的静态资源(js、css、png、gif),意味着更少的网络传送时间。构建的时候,可以把这些静态资源进行压缩优化(不像gzip/deflate压缩),使之更小化。有很多相应的开源工具帮助你完成这项工作。 javascript Google Clo...
12年前 (2013-05-27) 3152浏览 0评论
准备优化磁盘系统。通过noatime忽略写入读取文件的访问时间,同时取用ext3的写回缓存data=writeback。结果证实不能直接在/etc/fstab增加data=wrtebck的mount参数,否则会出现EXT3-fs: cannot ch...
12年前 (2013-05-27) 3137浏览 0评论
跟游族面试官有谈论到InnoDB Flush Redo Log Buffer的配置与i/o操作。MySql Innodb引擎支持事务,实现方式是WAL方式(先写事务日记,后写数据)。每次提交事务,为了提高性能,innodb先将信息保存在Innodb ...
12年前 (2013-05-27) 2795浏览 0评论
http keepalive 在http早期 ,每个http请求都要求打开一个tpc socket连接,并且使用一次之后就断开这个tcp连接。使用keep-alive可以改善这种状态,即在一次TCP连接中可以持续发送多份数据而不会断开连接。通过使用k...
12年前 (2013-05-27) 3416浏览 0评论
tps低,响应时间高,并发能力差。 1.应用本身,通过xhprof找出问题代码。产生系统内核调用函数尽量避免调用。比如is_file(), time(),require/include代替require_once/include_once等。 2.尽...
12年前 (2013-05-27) 3339浏览 0评论
心细的用户,可以从上面的http瀑布图比较看出:只有等到a.js加载完了,才开始加载b.js,然后再加载图片资源。我们称a.js阻塞b.js。这种现象,称之为js load block。 //filename:index.html <html&...
12年前 (2013-05-27) 2793浏览 0评论
关于Favicon 总是被命名为favicon.ico 默认存放在网站web根目录。我们常常看到这样的一个请求/favicon.ico 它总是显示在浏览器地址栏,网址的左边 当访问一个页面的时候,不管怎么样,浏览器都会请求这个文件,即/favicon...
12年前 (2013-05-27) 2914浏览 0评论
strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。strace可以跟踪到...
12年前 (2013-05-27) 2637浏览 0评论
MySQL用得比较多的引擎是MyISAM,InnoDB,这里的配置或以InnoDB为主,或以MyISAM为主而论,混合使用配置比较复杂,内存难以平衡。另外,这些配置都是global变量,而非Per-Connection变量。这些global变量依赖于...