如果是单机的话,选择自增ID;如果是分布式系统,优先考虑UUID吧,但还是最好自己公司有一套分布式唯一ID生产方案吧。 自增ID:数据存储空间小,查询效率高。但是如果数据量过大,会超出自增长的值范围,多库合并,也有可能有问题。 uuid:适合大量数据的插入和更新操作,但是它无序的,插入数据效率慢,占用空间大。
回答于 2021-06-28 13:48
密码散列,盐,用户身份证号等固定长度的字符串,应该使用char而不是varchar来存储,这样可以节省空间且提高检索效率。
回答于 2021-06-28 13:47
这个jar包:mysql-connector-java-5.1.18.jar Mysql驱动程序主要帮助编程语言与 MySQL服务端进行通信,如连接、传输数据、关闭等。
回答于 2021-06-28 13:46
将一个大的查询分为多个小的相同的查询 减少冗余记录的查询。 一个复杂查询可以考虑拆成多个简单查询 分解关联查询,让缓存的效率更高。
回答于 2021-06-28 13:46
count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计。
回答于 2021-06-26 10:51
存储过程,就是一些编译好了的SQL语句,这些SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后给这些代码块取一个名字,在用到这个功能的时候调用即可。 优点: 存储过程是一个预编译的代码块,执行效率比较高 存储过程在服务器端运行,减少客户端的压力 允许模块化程序设计,只需要创建...
回答于 2021-06-26 10:50
触发器,指一段代码,当触发某个事件时,自动执行这些代码。 使用场景: 可以通过数据库中的相关表实现级联更改。 实时监控某张表中的某个字段的更改而需要做出相应的处理。 例如可以生成某些业务的编号。 注意不要滥用,否则会造成数据库及应用程序的维护困难。
回答于 2021-06-26 10:50