MySQL之主键

MySQL之主键,第1张

主键是一个索引,mysql的索引是B+树,Mysql会按照键值的大小进行顺序存放,如果我们设置自增id为主键,这个时候主键是按照一种紧凑的接近顺序写入的方式进行存储数据。如果我们用其他字段作为主键的话,此时Mysql不得不为了将新记录插到合适位置而移动数据,甚至目标页面可能已经被回写到磁盘上而从缓存中清掉,此时又要从磁盘上读回来,这增加了很多额外的开销,同时频繁的移动、分页 *** 作造成了大量的碎片。

- 考虑性能消耗

- 考虑资源消耗

- 考虑分库分表

一个正常大小整数,有符号的范围是-2147483648到2147483647,无符号的范围是0到4294967295。 *** 作方法如下:

1、首先启动MySQL,新建数据库aaa,右键点击Tables,选择new table,建立一个新表。

2、添加字段xsid,类型为int,添加字段xsname,类型为vachar。如图中所示,选中字段xsid,通过点击Primary Key,或者图中2位置,设置该字段为主键。保存表,名称为xstable。

3、打开表xstable,新建查询,输入图中的sql语句,执行成功后表中即插入了一条数据。

4、将sql中的xsid数值设为空,第一次执行语句可以成功,xsid默认存储的是0,执行第2次时,报错,如图中所示。

5、最后打开表xstable的设计界面,选中xsid字段,在下面的Auto Increment前打上对勾,即选择为自动增长。

设置主键的思路:业务字段做主键、自增字典做主键、手动赋值字段做主键。

多表查询:分散在多个不同的表里的数据查询出来的 *** 作。

外键:从表中用来引用主表中数据的那个公共字段。

连接有2种类型的连接:内连接(inner join)和外连接(outer join)

内连接:查询结果只返回符合连接条件的记录。

外连接:查询结果返回某一个表中的所有记录,以及另一个表中满足连接条件的记录。

其中左连接:left join,返回左表中的所有记录,以及右表中符合连接条件的记录。

右连接:right join,返回右表中的所有记录,以及左表中符合连接条件的记录。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8555591.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存