在Symfony2 doc'如何使用PdoSessionStorage在数据库中存储会话'中,它显示会话表,如下所示:
CREATE TABLE `session` (
`session_id` varchar(255) NOT NULL,
`session_value` text NOT NULL,
`session_time` int(11) NOT NULL,
PRIMARY KEY (`session_id`),
UNIQUE KEY `session_id_idx` (`session_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)
为什么主键需要唯一键约束?
根据定义,主键是唯一键.在这个例子中,它只是一个重复的不必要的密钥.
在其他情况下,主键可能是复合的(由两个或多个字段组成),这样的二级索引将允许单独处理主键的各个组件.
例如:
create table X {
a char,
b char,
primary key (a,b)
}
Run Code Online (Sandbox Code Playgroud)
在那里进行查询WHERE b=something,不会使用主键索引,因为B的索引条目与'a'相关联,并且您在查询中没有使用'a'.添加专用于B的辅助单独索引允许对此where子句使用索引.
| 归档时间: |
|
| 查看次数: |
263 次 |
| 最近记录: |