在mysql中查询没有主键的表
我是数据库新手,在查询没有字段指示为主键的表时遇到时间问题 比如说 +-----------+----------+------+-----+---------+-------+ |字段|类型|空|键|默认|额外| +-----------+----------+------+-----+---------+-------+ |a|u id | char(10)| NO | | || |媒体|字符(3)|是| |空|| |标签| char(37)| YES | | NULL ||在mysql中查询没有主键的表,mysql,database,primary-key,Mysql,Database,Primary Key,我是数据库新手,在查询没有字段指示为主键的表时遇到时间问题 比如说 +-----------+----------+------+-----+---------+-------+ |字段|类型|空|键|默认|额外| +-----------+----------+------+-----+---------+-------+ |a|u id | char(10)| NO | | || |媒体|字符(3)|是| |空|| |标签| char(37)| YES | | NULL || 如您所见,该
如您所见,该字段没有任何键规范。当我进行类似这样的查询时 “从表中选择标签,其中a_id=?”,查询速度非常慢。这是由于缺少主键造成的吗
谢谢,不,这是由于缺少索引造成的。主键必须包含唯一的非空值。如果在列上添加索引,它可能包含重复项,但查询速度仍然会更快 如果希望字段是唯一的,但不希望它是主键(尽管您应该想知道为什么),甚至可以添加唯一索引。它将强制值是唯一的,但它不是主键 当您希望表的id和描述都应该是唯一的时,这会很方便。通常,您会将id作为主键,而描述只是唯一的