国内最专业的IT技术学习网

Mysql数据库

当前位置:主页 > Mysql数据库 >

澳门银河官网网址:MySQL中的主键和rowid,看似简单,其实有一些使用陷阱需要注意

发布时间:2019/10/09标签:   数据库      mysql      陷阱    点击量:

原标题:澳门银河官网网址:MySQL中的主键和rowid,看似简单,其实有一些使用陷阱需要注意

[New LWP 3156]  

| 10 | 126 |  

| _rowid |  

| 2018-08-14 |  

[New LWP 3148]  

| 3 |  

| 9 | 125 |  

...

小白学MySQL要多久?我整理了10多个问题的答案

`id` int(11) DEFAULT  

| 20 | 136 |  

Query OK, 3 rows affected (0.08 sec)  

+----------+  

+-----------------+  

+--------+  

为了验证,我们可以使用_rowid的方式来做初步的验证。

| rowno | _rowid | backup_date | count(*) |  

| 40944 |  

[New LWP 3157]  

而有了主键之后,上面这个瓶颈似乎就不存在了。

mysql> select _rowid from redis_backup_result limit 5;  

| 2018-08-14 |  

+-------+--------+-------------+----------+  

| backup_date | piece_no |  

光说不练假把式,我们可以做一个测试来说明。

| 2018-08-22 | 8226 |  

+-------+--------+-------------+----------+  

[New LWP 3139]  

[New LWP 3150]  

Query OK, 3 rows affected (0.07 sec)  

| 2018-08-20 | 7272 |  

| 1 | 117 | 2018-08-14 | 41061 |  

| 3 | 119 |  

+--------+----------+  

mysql> select backup_date ,count(*) piece_no from redis_backup_result group by backup_date;  

4)如何来理解rowid的潜在瓶颈并调试验证

+-------+--------+  

[New LWP 3143]  

通过这个案例,可以很明显发现是第1行的记录,然后做了count(*)的操作。

+-------------+  

| id |  

6)继续写入一些数据,比如我们写入4,5,6三行数据

$1 = 281474976710656 

在学习MySQL开发规范之索引规范的时候,强调过一个要点:每张表都建议有主键。我们在这里来简单分析一下为什么?

今天要和大家一起讨论这几个问题,测试的环境基于MySQL 5.7.19版本。

我们知道rowid只有6个字节,因此最大值是2^48,所以一旦 row_id超过这个值还是会递增,这种情况下是否存在隐患。

1 row in set (0.00 sec) 

| 11 | 127 |  

| 2018-08-14 | 3 |  

[New LWP 3136]  

[New LWP 3147]  

[New LWP 3149]  

...  

版权信息Copyright © 银河官网 版权所有    ICP备案编号:鲁ICP备09013610号