如果数据库中的数据已经很多(几百万条), 那么可以 加大mysql配置中的 bulk_insert_buffer_size,这个参数默认为8M
成都创新互联公司专注于中大型企业的成都网站建设、网站建设和网站改版、网站营销服务,追求商业策划与数据分析、创意艺术与技术开发的融合,累计客户成百上千,服务满意度达97%。帮助广大客户顺利对接上互联网浪潮,准确优选出符合自己需要的互联网运用,我们将一直专注成都品牌网站建设和互联网程序开发,在前进的路上,与客户一起成长!
举例:bulk_insert_buffer_size=100M;
2、第二种mysql插入提速方法:
改写所有 insert into 语句为 insert delayed into
这个insert delayed不同之处在于:立即返回结果,后台进行处理插入。
这样mysql前后端分离就可以添加一条或者多条数据了
1、在表的最后一列增加新的一列
ALTER TABLE `tbname`
ADD COLUMN `state` TINYINT(2) NOT NULL DEFAULT '0' COMMENT '0为添加1为编辑'
2、在指定的位置增加新的一列
ALTER TABLE `tbname`
ADD COLUMN `state` TINYINT(2) NOT NULL DEFAULT '0' COMMENT '0为添加1为编辑' AFTER `column_name`;
3、在第一列增加新的一列
ALTER TABLE `tbname`
ADD COLUMN `state` TINYINT(2) NOT NULL DEFAULT '0' COMMENT '0为添加1为编辑' FIRST;
//
insert into tab_name set col_1 = 'value_1';
// 一次性插入多个
$ insert into tab_name (col_1, col_2) values
('value_1a', 'value_1b'),
('value_2a', 'value_2b');
//插入时有主键冲突,改为更新操作
insert into tab_name (id, col_1, col_2) values
(13, 'value_1', 'value_2')
on duplicate key update
col_1 = 'value_1', col_2 = 'value_2'
// 将查询结果插入到数据(不应该出现在真实项目里,因为基数大时,会增加大量数据)
$ insert into tab_name (col_1, col_2) select col_1, col_2 from tab_name2
// 字段数和格式相同,才能讲不通字段名的插入
insert into tab_name (col_1, col_2) select col_3, col_4 from tab_name3
// 冲突替换,否则插入
replace into teacher values
(1, 'value_1', 'value_2', 'value_3')
// 导入数据(使用outfile导出的数据,避免导入时主键冲突,应为null)
// 也支持数据格式设置,同outfile
$ load data infile 'path' into tab_name;
1、首先打开MYSQL的管理工具,新建一个test表,并且在表中插入两个字段。
2、接下来在Editplus编辑器中创建一个PHP文件,进行数据库连接,并且选择要操作的数据库。
3、然后通过mysql_query方法执行一个Insert的插入语句。
4、执行完毕以后,回到数据库管理工具中,这个时候你会发现插入的中文乱码了。
5、接下来在PHP文件中通过mysql_query执行一个set names utf8语句。
6、接下来执行以后回到MYSQL数据库中,发现插入的中文显示正常了,即成功往mysql中写入数据了。