如果希望一劳永逸的解决慢的问题,不妨把你的mysql升级到mysql8.0吧,mysql8.0默认的字符集已经从latin1改为utf8mb4,因此现在UTF8的速度要快得多,在特定查询时速度提高了1800%!
mysql8.0 安装教程
但是如果时间等不及,就先用下面的办法快速解决一下。
问题一:格式不对(常出现时间格式不对的情况);
方法1:将excel文件另存为csv,再导入数据库;
方法2:导入的第一步时,默认编码方式是65001(UTF-8),可以尝试选择【10008 (MAC - Simplified Chinese GB 2312)】,或者【Current Windows Codepage】,这是常见的三种编码,多试几次,总能找到匹配你的电脑的编码格式。
方法3:在导入的最后几步,可以设置时间那一栏位的类型为datetime或者time,总之数据是什么类型就尽量选择什么类型,默认都是varchar。
问题二:导入慢(数据量大导致的慢还请慢慢等他导完);
方法1:如果是别人导给你的数据(不管是sql文件、csv文件、excel文件),你都导的极慢,导入速度一般是:sql文件>csv文件>excel文件。那就让他给你重新导一份吧。不管他之前是什么方式导的,请让他严格按照下面的步骤重新导一次:
打开要导出的表--在打开表的右上角有一个导出--用这个导出导;
注意:上述的【导出】与右键表的选项中的【导出向导】不一样,用【导出向导】导出来的表有时候会比较慢,所以我一般都用右上角的【导出】来导出数据。
问题三:丢数据(一般是用excel的时候会出现丢数据的情况);
方法1:把Excel另存为csv再导入;
方法2:可能是原始数据中有一列数据量比较大,比如成绩表的最后一列可能是老师的评语,而这一列中有那么几条数据评语写太多了,超过mysql默认的单个package的限制(一般是255),因此在导入的最后一步,把评语这一列的类型改为text,长度改为65535,65535是text类型的最大长度,日常记不住的话,就填60000,基本上就够用了,而且还好记。
方法3:如果是导出的时候丢数据,那么可能是选择了“Excel数据表”,按照下图的方式找适合你的导出方式吧。
但如果上面的办法都没有涵盖你要解决的问题,那么你是不是在mysql导出数据的时候出现问题了呢?不妨看看下面这篇文章。
解决mysql导出scv文件乱码、蹿行的问题