慢,如果真得用,那还是放到后台php去循环好。主要是没弄懂你要做的操作和逻辑,不然mysql用join来操作,把游标去掉,换成mysql自己每行去遍历,估计也就毫秒级。
创新互联公司企业建站,10余年网站建设经验,专注于网站建设技术,精于网页设计,有多年建站和网站代运营经验,设计师为客户打造网络企业风格,提供周到的建站售前咨询和贴心的售后服务。对于网站设计制作、成都网站设计中不同领域进行深入了解和探索,创新互联在网站建设中充分了解客户行业的需求,以灵动的思维在网页中充分展现,通过对客户行业精准市场调研,为客户提供的解决方案。
用mysql-connector-odbc-5[1].5-win3msi这个驱动程序 哥们,你建主键了没?排除了以上问题,还慢,就看看你的连接了,如果是自己写的,那么建议你找个别人写好的连接类试试。
在所有的存储过程和触发器的开始处设置 SET NOCOUNT ON ,在结束时设置 SET NOCOUNT OFF 。无需在执行存储过程和触发器的每个语句后向客户端发送DONE_IN_PROC 消息。2尽量避免大事务操作,提高系统并发能力。
(1)、Windows下开启MySQL慢查询MySQL在Windows系统中的配置文件一般是是my.ini找到[mysqld]下面加上代码如下log-slow-queries = F:/MySQL/log/mysqlslowquery。
这个应该不会太慢吧,我建议你看一下,你是不是循环做了太多次的插入/更新操作。mysql默认的配置中,每次事务提交都要写binlog和redo log,如果循环太多次——比如循环插入10w条记录——就会非常慢。
1、先禁掉索引,插入后再创建索引;写锁表,插入,解锁。原因是索引缓存区仅在所有insert语句完成后才刷新到磁盘上一次;增加key_buffer_size值来扩大键高速缓冲区。
2、在新建临时表时,如果一次性插入数据量很大,那么可以使用 select into 代替 create table,避免造成大量 log ,以提高速度;如果数据量不大,为了缓和系统表的资源,应先create table,然后insert。
3、看了你写的sql代码,问题出在insert into 的整体语句出现在了不该出现的地方,只需做一点小改动即可解决,如下图:解析:insert into语句需要在user表已经存在的情况下才可以使用。
因为mysql是国外的,guan 网下载肯定很慢。
可能是你的帐号不允许从远程登陆,只能在localhost。
不能这样比较的,版本一样不代表别的东西一样,而且数据库快慢和版本的关系不是很大,主要是你服务器的原因,你本地服务器配置内存和cpu这些肯定没有阿里云的好。
硬盘读写速度会影响输入库的写入速度的,另外看看你的mysql是不是加了好多索引,或者是不是远端数据库。。
观测手法也就那么几种,我们把服务器的资源全部都观察一圈就可以了。第三,如果实在搞不定,需求方一定要按照数据库容易接受的方式去写SQL,这个成本会下降的非常快,这个是常规的MySQL慢的诊断思路。