摘要: 查询超多分页怎么处理? 答:在mysql中使用limit进行超多分页时,应该利用延迟关联或者子查询优化。 因为MySQL并不是跳过offset行,而是取出offset+N行,然后在返回放弃offset行,返回N行,那当offset特别大的时候,效率就会非常低, 要么控制返回的总页数,要么对超过的特定 阅读全文
posted @ 2020-04-17 15:19 慕容天白 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 索引是不是越多越好? 答:不是的,索引建立太多会消耗空间,严重拖慢记录的更新以及行记录的新增速度。 学习阿里Java规范 阅读全文
posted @ 2020-04-17 14:31 慕容天白 阅读(1879) 评论(0) 推荐(0) 编辑
摘要: 在可变字符串类型varchar建立索引时有什么要注意的吗? 答:在varchar字段上建立索引时,必须要指定索引长度。没有必要要对全字段建立索引 可以根据文本区分度决定 索引长度。 索引的长度与区分度是一对矛盾体,一般的字符串数据,长度为20的索引,区分度会高达百分之九十以上,可以使用count(d 阅读全文
posted @ 2020-04-17 13:15 慕容天白 阅读(1501) 评论(0) 推荐(0) 编辑
摘要: 单表行数多少时适合分库分表? 答:单表行数超过500万行时或者单表容量超过2GB时,才推荐使用分库分表。 如果项目中预计三年以上的时间数据量才能达到这个级别时,请不要在创建表时就进行分库分表。 学习阿里Java规范 阅读全文
posted @ 2020-04-17 13:05 慕容天白 阅读(1210) 评论(0) 推荐(0) 编辑
摘要: 存储字符串时怎么设计或者考量那? 答:1.如果存储的字符串长度几乎相等,就可以选择char定长字符串类型。 2.当不能确定字符串长度时,应首先考虑varchar可变字符串类型,它不预先分配存储空间,长度不要超过5000。如果长度超过5000, 应当考虑使用text类型,并独立出一张表,用主键来对应, 阅读全文
posted @ 2020-04-17 12:55 慕容天白 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 小数类型选择float、double正确吗? 答:当字段为小数时需要存储到数据库中,要选择类型时,禁止使用float和double类型,应该选择decimal类型。 因为在存储时float和double都会存在精度损失的问题,很有可能在比较值的时候,得不到正确的结果。如果存储数据的范围超过decim 阅读全文
posted @ 2020-04-17 12:46 慕容天白 阅读(1396) 评论(0) 推荐(0) 编辑
摘要: 数据库表名,字段名为什么必须使用小写字母或者数字,禁止出现数字开头,禁止下划线中间出现数字? 答:1.数据库字段名修改需要付出大的代价,因为无法进行预发布,在取字段名字的时候一定要慎重; 2.MySQL在windows系统下不区分大小写,但是在Linux系统下默认是区分大小写。因此,在数据库名、表名 阅读全文
posted @ 2020-04-17 12:35 慕容天白 阅读(2732) 评论(0) 推荐(1) 编辑