10 2012 档案
摘要:索引并不是时时都会生效的,比如以下几种情况,将导致索引失效:如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因) 注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引 2.对于多列索引,不是使用的第一部分,则不会使用索引 3.like查询是以%开头 4.如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不使用索引 5.如果mysql估计使用全表扫描要比使用索引快,则不使用索引此外,查看索引的使用情况 show status like ‘Handler_read%’;大家可以注意:handler_read_key:这...
阅读全文
摘要:对于MyISAM:a.alter table table_name disable keysb.loading datac.alter table table_name enable keys对于Innodb:a.将要导入的数据按照主键排序b.set unique_checks=0,关闭唯一性校验c.set autocommit=0,关闭自动提交
阅读全文
摘要:MySql优化的一般步骤:1.通过show status 命令了解各种sql的执行效率 SHOW STATUS提供msyql服务器的状态信息 一般情况下,我们只需要了解以”Com”开头的指令 show session status like ‘Com%’:显示当前的连接的统计结果 show global status like ‘Com%’ :显示自数据库上次启动至今的统计结果 注:默认是session级别的 其中Com_XXX表示XXX语句所执行的次数。重点注意:Com_select,Com_insert,Com_update,Com_delete通过这几个参数,可以容易地了解到...
阅读全文
摘要:今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1.为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后
阅读全文
摘要:在处理一个大数据量数据库的时候突然发现mysql对于count(*)的不同处理会造成不同的结果比如执行SELECT count(*) FROM tablename即使对于千万级别的数据mysql也能非常迅速的返回结果而对于SELECT count(*) FROM tablename WHERE.....mysql的查询时间开始攀升仔细查阅累下手册,发现当没有WHERE语句对于整个mysql的表进行count运算的时候MyISAM类型的表中保存有总的行数,而当添加有WHERE限定语句的时候Mysql需要对整个表进行检索从而得出count的数值突然又想起来看到的不少新兴的php程序对于count的
阅读全文
摘要:相关资料免积分下载:http://download.csdn.net/detail/php_fly/4660704字典排序算法实现全排列的步骤:总结:1.从右向左找,找到第一个比下一个元素还小的地方,记下位置,标注为左元素。2.从右向左找,找到第一个比左元素大的元素,记下位置,标注为右元素。3.交换左元素和右元素。4.不管现在左元素位置上放的是谁,将左元素右边的序列逆序。5.这样就得到了一个新数了。6.可以继续重复1-5,来继续得到下一个排列。7.如果再也找不到一个比下一个元素还小的地方,那么意味着这个序列已经降序了,排列完成了,那就结束吧。代码如下:<?php/** * 打印数组 *
阅读全文
摘要:使用PHP实现万年历功能的要点:得到当前要处理的月份总共有多少天$days得到当前要处理的月份的一号是星期几$dayofweek$days的作用:知道要处理的月份共有多少天,就可以通过循环输出天数了$dayofweek的作用:只有知道每个月的1号是星期几,才能知道在输出天数之前需要输出多少空格(空白)最终效果图如下:“万年历类”的代码如下:<?php/** * PHP万年历 * @author Fly 2012/10/16 */class Calendar{ protected $_table;//table表格 protected $_currentDate;//当前日期 ...
阅读全文