随笔分类 -  Mysql

摘要:索引并不是时时都会生效的,比如以下几种情况,将导致索引失效: 1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因) 注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引 2.对于多列索引,不是使用的第一部分,则不会使用索引 3.like查询是以%开 阅读全文
posted @ 2016-06-24 11:28 Echo正在输入 阅读(209) 评论(0) 推荐(0) 编辑
摘要:count(*)通常是对主键进行索引扫描,count(列)不一定 count(*)是统计表中所有符合的记录总数,count(列)是计算表中所有符合的列的记录数 count的时候,如果没有where限制的话,mysql直接返回保存总的记录数,而有where限制的时候,总是要对mysql进行全表遍历 c 阅读全文
posted @ 2016-05-24 16:13 Echo正在输入 阅读(301) 评论(0) 推荐(0) 编辑
摘要:当Mysql使用索引字段作为条件时,如果该索引是复合索引,必须使用该索引中的第一个字段作为条件才能保证系统使用该索引,否则该索引不会被使用,并且应尽可能地让索引顺序和字段顺序一致 阅读全文
posted @ 2016-05-23 15:30 Echo正在输入 阅读(185) 评论(0) 推荐(0) 编辑
摘要:当数据量猛增的时候,大家都会选择库表散列等等方式去优化数据读写速度,举例说明: 1亿条数据,分100张表 1.首先创建100张表 $i=0;while($i<=99){echo "$newNumber \r\n";$sql="CREATE TABLE `code_".$i."` ( `full_co 阅读全文
posted @ 2016-05-11 14:28 Echo正在输入 阅读(15377) 评论(1) 推荐(1) 编辑
摘要:-show global status where Variable_name in('com_select','com_insert','com_delete','com_update'); 查询出当前四种操作的总次数 x1 y1 z1 w1 --select sleep(60) 延时60秒 -- 阅读全文
posted @ 2016-02-24 15:07 Echo正在输入 阅读(510) 评论(0) 推荐(0) 编辑
摘要:网 上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果,因此简单地根据某个给出方案来配置mysql是行不通的,最好能使用 status信息对mysql进行 阅读全文
posted @ 2016-02-23 10:59 Echo正在输入 阅读(242) 评论(0) 推荐(0) 编辑
摘要:mysql数据库中的查询语句有关limit语句的优化。一般limit是用在分页的程序的分页上的,当应用数据量够小时,也许感觉不到limit语句的任何问题,但当查询数据量达到一定程度时,limit的性能就会急剧下降。 这个是通过大量实例得出来的结论。对同一张表在不同的地方取10条数据:1)offset... 阅读全文
posted @ 2015-11-18 11:57 Echo正在输入 阅读(157) 评论(0) 推荐(0) 编辑
摘要:php 处理上百万条的数据库如何提高处理查询速度1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from... 阅读全文
posted @ 2015-11-13 16:50 Echo正在输入 阅读(670) 评论(0) 推荐(0) 编辑
摘要:1.以下是mysql查询中用到的时间格式的转化形式例子:SELECT DATE_FORMAT(NOW(),'%Y-%m-%d') -- 2015-10-28SELECT DATE_FORMAT(NOW(),'%y-%m-%d') -- 15-10-28SELECT DATE_FORMAT(NOW()... 阅读全文
posted @ 2015-10-30 16:18 Echo正在输入 阅读(299) 评论(0) 推荐(0) 编辑
摘要:服务器程序经常要访问数据库,并且服务器程序是长时间保持运行的,mysql有一个特点,当连接上数据库后不做任何操作,默认8小时候会自动关闭休 眠的连接!一般情况下很难预料什么时候程序会执行数据库操作,如果连接被mysql断开了,会出现意想不到的问题,这在服务器程序中是一种灾难!保持服务 器程序与Mys... 阅读全文
posted @ 2015-08-07 10:25 Echo正在输入 阅读(267) 评论(0) 推荐(0) 编辑
摘要:第一招、mysql服务的启动和停止net stop mysqlnet start mysql第二招、登陆mysql语法如下: mysql -u用户名 -p用户密码键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:m... 阅读全文
posted @ 2015-06-11 11:38 Echo正在输入 阅读(896) 评论(0) 推荐(0) 编辑
摘要:MyISAM是非事务的存储引擎,innodb是支持事务的存储引擎。innodb的引擎比较适合于插入和更新操作比较多的应用,而MyISAM则适合用于频繁查询的应用 。MyISAM--表锁,innodb--设计合理的话是行锁,MyISAM不会出现死锁。最大的区别就是MYISAM适合小数据,小并发;INN... 阅读全文
posted @ 2015-04-03 10:29 Echo正在输入 阅读(209) 评论(0) 推荐(0) 编辑
摘要:大家都可能遇到字段重复的情况,网上很多人在找方法,也给出了一些方法,但是有的方法是误导大家,铁牛写出以下方法,方便大家使用 1.通过group by把重复的字段筛选出来,并建立临时表tmp1create table tmp as select max(id) as col1 from www gr... 阅读全文
posted @ 2015-03-05 14:34 Echo正在输入 阅读(289) 评论(0) 推荐(0) 编辑
摘要:一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server---创建 备份数据的deviceUSE masterEXEC sp_addumpdevice 'disk', 'tes... 阅读全文
posted @ 2015-03-05 14:30 Echo正在输入 阅读(199) 评论(0) 推荐(0) 编辑
摘要:第一种:updatestudentsetstudent.age=(select`user`.agefromuserwhereid=student.id)wherestudent.`name`='lisi';第二种:update user left join user1129 on user.user... 阅读全文
posted @ 2014-12-09 14:50 Echo正在输入 阅读(137) 评论(0) 推荐(0) 编辑
摘要:CREATE ALGORI`sync_user`CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `sync_db`.`sync_user` AS select `ipt_authd_rem... 阅读全文
posted @ 2014-12-09 14:47 Echo正在输入 阅读(417) 评论(0) 推荐(0) 编辑
摘要:例如表A中的user_login_name的值为NULL,用mysql语句把这条记录查询出来,用select user_login_name from A where user_login_name is null注意使用关键词is null 阅读全文
posted @ 2014-08-27 11:22 Echo正在输入 阅读(2129) 评论(0) 推荐(0) 编辑
摘要:1.如果你真的想把返回的数据行打乱了,你有N种方法可以达到这个目的。这样使用只让你的数据库的性能呈指数级的下降。这里的问题是:MySQL会不得不去执 行RAND()函数(很耗CPU时间),而且这是为了每一行记录去记行,然后再对其排序。就算是你用了Limit 1也无济于事(因为要排序)// 千万不要这... 阅读全文
posted @ 2014-05-05 15:04 Echo正在输入 阅读(112) 评论(0) 推荐(0) 编辑
摘要:几个常用用例:1.导出整个数据库mysqldump-u用户名-p数据库名>导出的文件名mysqldump-uwcnc-psmgp_apps_wcnc>wcnc.sql2.导出一个表mysqldump-u用户名-p数据库名表名>导出的文件名mysqldump-uwcnc-psmgp_apps_wcnc... 阅读全文
posted @ 2014-05-04 13:51 Echo正在输入 阅读(105) 评论(0) 推荐(0) 编辑
摘要:由于在参与的实际项目中发现当mysql表的数据量达到百万级时,普通SQL查询效率呈直线下降,而且如果where中的查询条件较多时,其查询速度简直无法容忍。曾经测试对一个包含400多万条记录(有索引)的表执行一条条件查询,其查询时间竟然高达40几秒,相信这么高的查询延时,任何用户都会抓狂。因此如何提高sql语句查询效率,显得十分重要。以下是网上流传比较广泛的30种SQL查询语句优化方法:1、应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。3、应尽量避 阅读全文
posted @ 2013-11-27 16:22 Echo正在输入 阅读(234) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示