今天突然发现 mysql 其实在 5.7 就已经支持了虚拟列,和虚拟列索引. 终于能优化系统中的 select * from dual where phone like '%xxx' 这种以尾号进行模糊查询的场景了
其实最近几年数据库也在不断发展. 但是和一些朋友交流了下,大部分都还在使用基础的 crud 功能.
比如分区表的升级(特指 pg) ,虚拟列,函数索引,条件索引,数组结构.json 增强,cte,窗口函数等
尤其是 pg 的一些插件 ,很大程度上能够让数据库承担一部分的复杂操作
不知道大家有没有尝试去了解和使用这些新功能?
ps mysql5.7 下的 虚拟列以及虚拟列索引稳定吗?
1
bthulu 2024-01-04 15:47:44 +08:00
从来不用这玩意. 客户提供的数据库千奇百怪, 只用 ef 支持的功能.
|
2
fkdog 2024-01-04 15:48:16 +08:00
现在国内互联网已经不是 10 年前那种百花齐放的时代的,没那么多新增应用去开发。
更多的是维护现有存量应用,屎山都难维护,更别说重构/关注新功能/关注行业动向了。 |
3
mightybruce 2024-01-04 15:56:45 +08:00
不要关注 mysql, 多关注 pg 一下。
第一、互联网用不到多少复杂的 mysql, 在银行、保险等企业才会有大量 sql 以及存储过程这类 第二、互联网已经退潮了, 多关注一下 IT 除互联网外的行业使用得数据库行情。 第三、pg 国企还有一些国产数据库开发是比较多的,mysql 屎山太多, 做的扩展和插件远不如 pg, pg 现在通过插件都可以搞向量数据库。 第四、国家内部国企央企钦定不使用 mysql 5.7 以上的,mysql 现在被 oracle 搞得很不明朗,pg 才算是真正开源 |
4
changdy OP @fkdog 这个倒是现况 .18 年项目立项的时候用了 mysql5.7 现在还在用 5.7 挣扎中...因为大家当时对 mysql 8.0 和 pg 都不是很熟悉. 现在还在用 ut8(mb3) emoji 表情都存不了..
|
5
IbukiSuika 2024-01-04 16:09:22 +08:00
@mightybruce #3 mysql 5.7 以上的有什么说法吗,非技术方面的问题?
|
6
mightybruce 2024-01-04 16:35:39 +08:00
@IbukiSuika 考虑 mysql 逐渐商业化,mysql 社区版和商业版服务差距变大,稳定性等因素。
另外就是国产数据库厂商和国内评审专家的意见。 |
7
fkdog 2024-01-04 17:33:10 +08:00
@IbukiSuika 国内搞信创工程,要求政府事业单位项目的中间件全面国产化。
|
8
IbukiSuika 2024-01-05 09:04:24 +08:00
|
9
changdy OP @mightybruce 其他都很赞同.但是对于第一点 表达一些不同的看法.
之前确实有不少系统把有很多业务逻辑都写在了存储过程里面 .造成了 难以维护 .难以 debug 所以一些大厂吸取教训 ,从此不再使用存储过程. 这个思路我是完全赞同的. 但是对于普通开发者来说 , 一些中小企业.讲究快速开发. 如果写一些轻量级的存储过程 , 达到一些功能我觉得是完全可行的. |
10
mightybruce 2024-01-05 10:31:08 +08:00
那要看业务是否复杂了, 大多数互联网涉及到的数据库操作并不复杂。y 银行到目前为止还有大量存储过程,不过银行用的是 oracle, 完全碾压 mysql, mysql 说实话性能垃圾, 支持的功能也少,像 oracle rac 这类,mysql 就更差了,花钱买的和免费不在一个水平, 不同的业务考虑是不同的,如果看重吞吐量和并发量,那么的确不要使用这些。
大厂都没有多少复杂的金钱结算一致性非常强的业务, 有这个的都去搞自研数据库了 |