我正在研究涉及大量数据库写入的项目,我会说(70%的插入和30%的读取).该比率还包括我认为是一次读取和一次写入的更新.读取可能很脏(例如,在读取时我不需要100%准确的信息).
有问题的任务将是每小时进行超过100万次数据库事务.
我在网上看到了一些关于MyISAM和InnoDB之间差异的东西,对于我将用于此任务的特定数据库/表格来说,MyISAM似乎是我的明显选择.从我似乎正在阅读的内容来看,如果需要事务处理,InnoDB很好,因为支持行级锁定.
有没有人有这种负载(或更高)的经验?MyISAM是走的路吗?
我想在表格中输入电话号码,包括国家代码,分机号码
create table if not exists employee( `
country_code_tel int(11),
tel_number int(10),
extension int(10),
mobile bigint(20)
);
Run Code Online (Sandbox Code Playgroud)
如果tel_number大于15位,我可以使用哪种数据类型,我最好使用Bigint(20)?
create table address(
address varchar(255),
city varchar(255),
country varchar(255),
post_code int(11)
);
Run Code Online (Sandbox Code Playgroud)
例如,如果我有加拿大的国家代码,我可以使用+2或002.哪种处理更好?
谢谢你的建议.
我对这里的伤害感到困惑.
我知道怎么做,见下文,但不知道为什么?它们适用于什么?
create table orders (order_no int not null auto_increment, FK_cust_no int not null,
foreign key(FK_cust_no) references customer(cust_no), primary key(order_no)) type=InnoDB;
create table orders (order_no int not null auto_increment, FK_cust_no int not null,
foreign key(FK_cust_no) references customer(cust_no), primary key(order_no));
Run Code Online (Sandbox Code Playgroud) 我有一个MySQL表users,包含以下列:
要管理角色系统,以下任何一个选项都会有缺点吗?
选项1:
创建了第一个表roles有三列:role_id(主键),name和description,然后关联users.user_id与roles.role_id在第三表作为外键叫users_roles?
要么...
选项2:
roles使用两列创建第二个表:( user_id外键来自users.user_id)和role(ENUM)?ENUM数据类型列允许将允许的角色的简短列表作为值插入.
我以前从未在MySQL中使用ENUM数据类型,所以我只是好奇,因为选项2意味着少一个表.我希望这是有道理的,这是我第一次尝试在论坛中描述MySQL表.
ENUM('1','2','3','4','5')是产品评级的合理数据类型,必须介于1到5之间?
谢谢!
我在选择数据库表的变量类型时遇到问题.有人可以给我一些关于如何选择类型的一般指导方针吗?以下是我的一些问题 -
用户ID应该是什么?INT似乎很小,因为设计应考虑大量用户.那么如果不是INT还有什么?BIGINT?VARCHAR?我不直接思考?
我什么时候应该选择varchar和text和tinytext,binary?
我在网上搜索,没有找到任何有用的链接.有人能指出我正确的方向吗?也许我需要读书.
mysql ×5
database ×3
innodb ×2
enums ×1
myisam ×1
performance ×1
phone-number ×1
rating ×1
types ×1