可以这样写:
CREATE TABLE IF NOT EXISTS `".$ctb_name."` (
`id` INT(9) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`keyid` VARCHAR(20) NOT NULL,
`key` VARCHAR(20) NOT NULL,
`stauts` BOOL NOT NULL DEFAULT'0',
index `idx_status`(`status`)
)ENGINE = MYISAM DEFAULT CHARSET=utf8
不过,status是bool类型的字段,只有true和false,区分度太低,没有必要加索引。
索引目的是为了使查询更快,区分度小的时候不如全表扫描。
是的。根据mysql的介绍显示,每天是100g的量。MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。首先说明本人只测试了40G的东西。大于40G的还没有测试。
在上传之前我们需要将my.ini修改一个参数max_allowed_packet.将参数设置为max_allowed_packet=100000M。1M=1024*1024。以此类推。1G=...。
不经过此设置可能会发生以下问题:MySQL server has gone away .出现这个问题的原因是因为client端和mysql server端断开了。一般是 *** 作sql文件时间过长导致的。
设置好之后重启
这里我经过测试:max_allowed_packet最大只能设置为1G=10737418248/1024/1024/1024.
查看max_allowed_packet命令为如下:
下面开始使用命令行来上传sql文件。
一、进入mysql的bin目录下
二、执行如下语句
mysql -uroot -p 数据库 <sql所在目录
提示输入密码即可导入大数据量的sql文件。
三、如何检验文件是否在上传或者文件是否已经传完毕。打开您的mysql管理工具(比如navicat)。按F5看对应的库记录和大小或者上次更新时间是否在变化就好了。
四:上传过程可能比较漫长。上传完毕
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)