1.建立索引,尽可能把索引建立到你你经常比较的字段上,如select a,b,c,d from a where 索引字段=值,这个索引字段最好是数值型数据
成都创新互联是少有的成都做网站、成都网站制作、营销型企业网站、重庆小程序开发公司、手机APP,开发、制作、设计、买友情链接、推广优化一站式服务网络公司,成立与2013年,坚持透明化,价格低,无套路经营理念。让网页惊喜每一位访客多年来深受用户好评
2.慢有更多情况,
情况1:远程查询,其实可能查询不慢,由于数据量大,传输过程慢
情况2:WHERE 后面的比较数据太多,比如 like 类的语句
情况3:需要哪个字段只取那个字段就行了,比如select * from a与select b,c,d from a速度是有差距的
3.数据库定期维护,压缩,把不常用的数据备份后放入备份库里,查询时查备份库等
问题补充:
.第一条:建立索引,怎么建立,我也听说过,但不知道怎么使用
答:每种数据建立索引的方法有差异,比如SQL SERVER 2000中可对多个字段进行索引,比如SQL SERVER2000中有命令
CREATE INDEX
为给定表或视图创建索引。
只有表或视图的所有者才能为表创建索引。表或视图的所有者可以随时创建索引,无论表中是否有数据。可以通过指定限定的数据库名称,为另一个数据库中的表或视图创建索引。
语法
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [ ,...n ] )
[ WITH index_option [ ,...n] ]
[ ON filegroup ]
index_option ::=
{ PAD_INDEX |
FILLFACTOR = fillfactor |
IGNORE_DUP_KEY |
DROP_EXISTING |
STATISTICS_NORECOMPUTE |
SORT_IN_TEMPDB
}
第三条:数据库定期维护,压缩:怎么个压缩法?及时备份数据到备份库查询备份库,那查询时不是还慢吗?
答:这个有压缩工具,基本上每种数据库都有自己的压缩数据库的工具
数据库的读取能一次查询完成的尽量不要分成多次查询
不知道你用的是什么框架,如果有where_in方法的话可以用它来解决,先要构造出order_sn值的数组
没有的话就自己构造'or'条件字符串,然后用where一次查询完成
如果数据库数据很大,最好给相应字段建立索引,这样会快很多!还有就是查询语句尽量不要写 in()之类的,这比较耗时!
初步判断是因为你sql执行次数过多。
你的每条记录都进行了一次校验sql,通过的还要导入,所以说至少有100万条sql吧,一起执行多条sql,是要快于逐条执行每个sql 。
建议你在php中处理好全部的sql,用BEGIN END链接起来一起执行,试试看,格式如下
BEGIN
sql1;
sql2;
sql3
...
sql100w;
END;
1. 找到你mysql的安装目录,打开my.ini,如果是Linux服务器,那就是my.conf;
2.然后在[mysqld]选项下面添加:
skip-name-resolve
这个选项的意思是:禁用DNS解析,连接速度会快很多。
然后保存,重启mysql服务器,希望能帮你解决问题!
连接语句怎么写的,是不是用的域名,建议用IP,例如:
mysql_connect('127.0.0.1', 'root', '123456');