mysql事务和配置
来源:互联网 发布:php的发展前景 编辑:程序博客网 时间:2024/06/05 18:45
一:代码写法:
function out_data_to_mysql(&$result){ global $config; global $ymd; $connect_mysql = new mysqli($config["ip_host"], $config["ip_user"], $config["ip_pwd"], "", $config["ip_port"]); if (false == $connect_mysql) { echo "连接数据库失败!\n"; die("Connection failed: " . $connect_mysql->connect_error); } $connect_mysql->query("SET NAMES UTF8"); $connect_mysql->select_db($config["ip_database"]); $num = 0; $connect_mysql->query('start transaction');// $connect_mysql->query('SET autocommit=1'); $connect_mysql->autocommit(false); foreach ($result as $key => $value) { $mysqlKey = "\"".$key."\""; $mysqlTopic= "\"".$value[1]."\""; $mysqlVersion= "\"".$value[0]."\""; $sql = "replace into pushmsg.uuid_topic(uuid, topic, createtime, version, width, height) values($mysqlKey, $mysqlTopic, $ymd, $mysqlVersion, $value[2], $value[3])"; echo $sql . "\n"; $sqlResult = $connect_mysql->query($sql); if (false == $sqlResult) { echo $sql . " :run sql fail!\n"; } $num += 1; //每一万次提交一次! if ($num % 10000 == 0) { $connect_mysql->commit(); } } $connect_mysql->commit(); echo "导入数据的数目:" . $num . "\n"; $connect_mysql->close();}
二:配置:
MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其他的类型是不支持的!
***:一般MYSQL数据库默认的引擎是MyISAM,这种引擎不支持事务!如果要让MYSQL支持事务,可以自己手动修改:
方法如下:1.修改c:/appserv/mysql/my.ini文件,找到skip-InnoDB,在前面加上#,后保存文件。
2.在运行中输入:services.msc,重启mysql服务。
3.到phpmyadmin中,mysql->show engines;(或执行mysql->show variables like 'have_%'; ),查看InnoDB为YES,即表示数据库支持InnoDB了。
也就说明支持事务transaction了。
4.mySQL数据库设置成InnoDB引擎
三:另一种代码写法:
插入200W条测试数据仅仅用了1分钟!代码如下:
$sql
= “insert into twenty_million (value) values”;
for
(
$i
=0;
$i
<2000000;
$i
++){
$sql
.=”('50′),”;
};
$sql
=
substr
(
$sql
,0,
strlen
(
$sql
)-1);
$connect_mysql
->query(
$sql
);
这种方法的缺点是如果有一个失败,则整个都会失败,优点是效率高!!
四:展示数据库的引擎
show engines;
阅读全文
0 0
- mysql事务和配置
- 亲身实验mysql配置中autocommit和事务的关系
- mysql 事务和锁
- MySQL视图和事务
- MYSQL事务和锁
- 事务的概念和MySQL事务支持
- 事务的概念和MySQL事务支持
- Spring事务配置和事务传播类型
- Spring配置文件中的C3P0数据源配置和事务配置(采用mysql)
- mysql和php的事务.
- MySQL 异常处理和事务
- MySql和Sqlite启动事务
- mysql事务和锁InnoDB
- mysql触发器和事务控制
- mysql事务和锁InnoDB
- mysql事务和锁InnoDB
- mysql事务和锁InnoDB
- mysql下事务和锁
- 如何设计一个牛掰的大型项目架构?
- 问题: Manifest merger failed : Attribute application@allowBackup value=(false) 解决方法
- 数据库SQL优化大总结之 百万级数据库优化方案
- [2]java微信开发-平台接入
- 判断一个字符串是否对称
- mysql事务和配置
- 白话火焰图
- Json字符串轻松转为实体工具-GsonFormat
- 线程面试:生产者 消费者问题
- PHP四种排序方法
- 文章标题
- android数据库持久化框架
- NKOJ-4214 行列交换<2017信息学夏令营第1场 C题>
- 替换空格