1、 数据库自增长序列或字段。
2、 UUID
3、 Redis 生成 ID
4、 Twitter 的 snowflake 算法
5、 利用zookeeper生成唯一 ID
6、 MongoDB 的 Objectld
MySQL 中 varchar(50)中 50 的涵义?
1,字段最多存放50个字符
2、 如varchar(50)和varchar(200)存储"jay"字符串所占空间是一样的,后者在排序时会消耗更多内存
MySQL中limit 1000000加载很慢的话,你是怎么解决的呢?
方案一:如果id是连续的,可以这样,返回上次查询的最大记录(偏移量),再往下limit
select id, name from employee where id>1000000 limit 10.
方案二:在业务允许的情况下限制页数:
建议跟业务讨论,有没有必要查这么后的分页啦。因为绝大多数用户都不会往后翻太多页。
方案三:order by +索引(id为索引)
select id, name from employee order by id limit 1000000, 10
方案四:利用延迟关联或者子查询优化超多分页场景。(先快速定位需要获取的id段,然后再关联)
SELECT a. * FROM employee a, (select id from employee where 条件 LIMIT 1000000, 10 ) b where a.id=b.id

Was this helpful?

0 / 0

发表回复 0

Your email address will not be published.