09 2012 档案

摘要:今天优化了多条SQL语句。都是EXPLAIN的功劳,分析SQL子句的执行顺序和执行情况,一木了然,下来看具体分析:[优化多表联合查询]explain SELECT sql_no_cache pker.*,pk.* FROM ng_game_pk AS pk ,ng_game_pker AS pker where pker.pkid = pk.id and (pker.act_uid = 1 OR pker.def_uid = 1) AND pk.type <>4 GROUP BY pk.id limit 10;+----+-------------+-------+-------- 阅读全文
posted @ 2012-09-28 15:22 zaric 阅读(2005) 评论(0) 推荐(0)
摘要:以前对explain工具不是很了解,抽空学习了下。真的很强大。首先分析下两条sql带来的性能问题。开启profilingset profiling=1;34 | 0.01580100 | select sql_no_cache * from user left join user_ext on user.id = user_ext.id where user_ext.id <100 ORDER BY user_ext.id limit 1035 | 0.04485000 | select sql_no_cache * from user left join user_ext on use 阅读全文
posted @ 2012-09-27 10:34 zaric 阅读(1306) 评论(0) 推荐(0)
摘要:内存分配为了避免写的不好的扩展浪费内存,ZE通过标记实现内部内存管理来表示持有。persistent allocation 意味着分配的内存比一个页面请求持续更长时间。non-persistent allocation 无论释放函数有没有调用,将被释放在为它分配内存的请求结束后。理论上,一个依赖ZE在请求结束自动释放non-persistent内存的扩展是不被推荐的。内存分配将会保留更长时间,资源相关的内存不会像正常关机那样,它缺乏清理烂摊子的经验。下面是几种内存分配的比较:TraditionalNon-PersistentPersistentmalloc(count)calloc(count 阅读全文
posted @ 2012-09-19 22:01 zaric 阅读(209) 评论(0) 推荐(0)