
数据库
文章平均质量分 87
JackieZhengChina
70'码农,优快云博客专家,信息系统项目管理师,工商管理硕士,CZB政采评审专家,中国采购与招标专家库专家,自驾爱好者,近20年教育类产品研发及管理经历,曾任教育科技公司联合创始人兼产品VP、科技公司产研VP。
职业标签:产品、项目、技术、运营、管理、战略。
展开
-
新一代搜索引擎,是 ES 的15倍?
Manticore Search 充分利用了 Sphinx,显着改进了它的功能,修复了数百个错误,几乎完全重写了代码并保持开源。这一切使 Manticore Search 成为一个现代,快速,轻量级和功能齐全的数据库,具有出色的全文搜索功能。Manticore是基于SQL的,使用SQL作为其本机语法,并与MySQL协议兼容,使您可以使用首选的MySQL客户端。由于其现代的多线程架构和高效的查询并行化能力,Manticore能够充分利用所有CPU核心,以实现最快的响应时间。原创 2025-01-31 10:23:30 · 1606 阅读 · 0 评论 -
10种超赞的MyBatis写法
是 MyBatis 中一个非常强大的元素,它允许你遍历集合并对每个元素执行 SQL 语句的一部分。MyBatis-Plus 是 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。这在构建动态查询时非常有用,特别是当查询条件不是固定的时候。MyBatis 本身不直接支持分页查询,但可以通过 SQL 的 LIMIT 语句或结合插件来实现。延迟加载是一种优化技术,它允许在真正需要关联数据时再去加载这些数据,从而减少数据库的访问次数。原创 2024-09-11 07:37:09 · 450 阅读 · 0 评论 -
8 种最坑的SQL错误用法
MySQL在2016年仍然保持强劲的数据库流行度增长趋势。越来越多的客户将自己的应用建立在MySQL数据库之上,甚至是从Oracle迁移到MySQL上来。但也存在部分客户在使用MySQL数据库的过程中遇到一些比如响应时间慢,CPU打满等情况。阿里云RDS专家服务团队帮助云上客户解决过很多紧急问题。现将《ApsaraDB专家诊断报告》中出现的部分常见SQL问题总结如下,供大家参考。MySQL在2016年仍然保持强劲的数据库流行度增长趋势。原创 2024-09-03 10:44:09 · 1679 阅读 · 0 评论 -
SQL优化
复合索引也称为联合索引,当我们创建一个联合索引的时候,如(k1,k2,k3),相当于创建了(k1)、(k1,k2)和(k1,k2,k3)三个索引,这就是最左匹配原则。如果字段的大小有变化,应用就会受到影响,因为它必须修改字段宽度。默认新增SQL有事务控制,导致每条都需要事务开启和事务提交,而批量处理是一次事务开启和提交,效率提升明显,达到一定量级,效果显著,平时看不出来。列经常被修改,而且每次被修改的数据的长度不同,这会引起“行迁移”现象,而这造成多余的I/O,是数据库设计中要尽力避免的,这种情况下用。原创 2024-08-30 09:29:36 · 434 阅读 · 0 评论 -
如何评估Redis的性能
如果系统中出现了大 key、热 key 等,往往会导致 Redis 变慢,但是这个慢该如何界定?多久算慢?1秒还是3秒?这个肯定是没有标准答案,因为这个和你的硬件设备有关。硬件差一些,平时响应时间都是 1s,突然有个响应 3s,那肯定算慢。硬件好一些,平时响应都是 0.2s,突然有个响应 1s,那这个 1s 肯定算慢。所以这个没有固定数据。但是这个问题是有答案的。所以今天我就想来和大家聊一聊这个话题,我们该如何去评估自己 Redis 的性能。原创 2024-08-22 07:38:29 · 1070 阅读 · 0 评论 -
[转]MySQL- SELECT ... FOR UPDATE语句
是SQL语言中的一种语句,用于在数据库事务处理中控制并发访问。这种语句通常用在需要对数据库中的记录进行更新操作的场景中。下面是对用途用于锁定一条或多条记录以进行更新。当我们使用这个语句时,数据库会对选定的行加上排他锁(exclusive lock)。这意味着,在当前事务提交或回滚之前,其他事务不能对这些行进行修改或加锁。事务中使用通常在事务(transaction)中使用。这是因为,锁定的行只有在事务结束时才会释放。如果不在事务中使用,锁定可能会立即释放,这样就不会有预期的效果。锁定行为:当执行。原创 2024-08-07 09:35:08 · 1140 阅读 · 0 评论 -
MySQL 开发规范
1、不同应用间所对应的数据库表之间的关联应尽可能减少,不允许使用外键对表之间进行关联,确保组件对应的表之间的独立性,为系统或表结构的重构提供可能性。1、常规表表名以t_开头,t代表table的意思,命名规则即 t + 模块(包含模块含义的简写)+ 表(包含表含义的简写),比如用户模块的教育信息表:t_user_eduinfo。7、正确理解和计算索引字段的区分度,文中有计算规则,区分度高的索引,可以快速得定位数据,区分度太低,无法有效的利用索引,可能需要扫描大量数据页,和不使用索引没什么差别。原创 2024-07-20 09:38:07 · 895 阅读 · 0 评论 -
加密数据如何进行模糊查询
我们到这里对加密数据的检索方案全部介绍完了,我们首先提到的是网上搜索随处可见的沙雕做法,在这里也讲了不推荐使用这些沙雕做法,尽量使用常规做法,如果公司有专业算法方向人才的话不妨可以考虑基于算法层面的超神做法。总的来说从投入、产出比、及实现、使用成本来算的话常规做法二是非常推荐的。最后送上那句老话,Keep Real,Love and peace!原始链接:https://ningyu1.github.io/20201230/encrypted-data-fuzzy-query.html。原创 2024-07-15 10:18:58 · 989 阅读 · 0 评论 -
RedisJson官方性能报告,性能碾压ES和Mongo
对于隔离写入(isolated writes),RedisJSON 比 MongoDB 快 5.4 倍,比 ElasticSearch 快 200 倍以上。对于隔离读取(isolated reads),RedisJSON 比 MongoDB 快 12.7 倍,比 ElasticSearch 快 500 倍以上。在混合工作负载场景中,实时更新不会影响 RedisJSON 的搜索和读取性能,而会受到影响。原创 2024-07-03 08:51:26 · 816 阅读 · 0 评论 -
官方搜索引擎横空出世,性能飙升秒杀ES,重构搜索新时代!
RediSearch是一个Redis模块,为Redis提供查询、二次索引和全文搜索。要使用RediSearch,首先要在Redis数据上声明索引。然后可以使用重新搜索查询语言来查询该数据。RedSearch使用压缩的反向索引进行快速索引,占用内存少。RedSearch索引通过提供精确的短语匹配、模糊搜索和数字过滤等功能增强了基于文档的多个字段全文索引高性能增量索引文档排序(由用户在索引时手动提供)在子查询之间使用 AND 或 NOT 操作符的复杂布尔查询可选的查询子句基于前缀的搜索。原创 2024-07-03 08:23:29 · 749 阅读 · 0 评论 -
10个高级的 SQL 查询技巧
如果您注意到,CTE很有用,因为您可以将代码分解为较小的块,但它们也很有用,因为它允许您为每个CTE分配变量名称(即toronto_ppl和avg_female_salary)递归CTE尤其有用,它涉及查询组织结构图,文件系统,网页之间的链接图等的分层数据,尤其有用。对于上表来说,Joe是唯一一个比他的经理工资更多的员工。Rank()返回从1开始的每行的唯一编号,除了有关系时,等级()将分配相同的数字。示例问题:给定天气表,写一个SQL查询,以查找与其上一个(昨天)日期相比的温度较高的所有日期的ID。原创 2024-06-27 09:22:15 · 695 阅读 · 0 评论 -
数据库管理系统(DBMS)
数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它可以支持多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。原创 2024-06-24 19:56:07 · 2299 阅读 · 0 评论 -
MyBatis详解
MyBatis 是一款优秀的持久层框架它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。Maven仓库中文文档:https://mybatis.org/mybatis-3/zh/index.html查询 : 连接数据库,耗资源!原创 2024-06-23 09:29:15 · 1413 阅读 · 0 评论 -
MySQL的自增 ID 用完了,怎么办?
如果你的自增 ID 是 INT 类型,要修改 INT 为 BIGINT 可以使用 ALTER 命令:原创 2024-06-20 07:54:01 · 943 阅读 · 0 评论 -
可视化ETL工具kettle简单入门
数据仓库ETL的英文全称为:Extract-Transform-Load,即:抽取-转换-存储,一般会先将不同源数据抽取出来,然后对数据进行数据清洗,把杂乱的数、无效的数据清洗成规范的、可用的数据,最后存储到数据仓库的过程,将不同的数据整合到一起。而Kettle就是用来一款用于ETL的开源分析工具。原创 2024-06-18 13:24:35 · 1164 阅读 · 0 评论 -
OpenSearch 与 Elasticsearch主要差异
Elasticsearch 是一个基于 Apache Lucene 构建的开源、RESTful、分布式搜索和分析引擎。它旨在处理大量数据,使其成为日志和事件数据管理的流行选择。Elasticsearch 还以其实时功能而闻名,允许用户在数据模式发生时探索、分析和可视化。除了日志和事件数据管理之外,Elasticsearch 还常用于全文搜索和运营智能用例。它的目标是可扩展、有弹性且快速,允许您近乎实时地索引和搜索数据。原创 2024-06-18 12:05:49 · 707 阅读 · 0 评论 -
三种 MySQL 大表优化方案
方案一:优化现有mysql数据库。优点:不影响现有业务,源程序不需要修改代码,成本最低。缺点:有优化瓶颈,数据量过亿就玩完了。方案二:升级数据库类型,换一种100%兼容mysql的数据库。优点:不影响现有业务,源程序不需要修改代码,你几乎不需要做任何操作就能提升数据库性能,缺点:多花钱方案三:一步到位,大数据解决方案,更换newsql/nosql数据库。优点:扩展性强,成本低,没有数据容量瓶颈,缺点:需要修改源程序代码以上三种方案,按顺序使用即可,数据量在亿级别一下的没必要换nosql,开发成本太高。原创 2024-05-30 20:02:16 · 759 阅读 · 0 评论 -
MySQL性能调优——常用存储引擎优化
MySQL 提供的非常丰富的存储引擎种类供大家选择,有多种选择固然是好事,但是需要我们理解掌握的知识也会增加很多。本章将介绍最为常用的两种存储引擎进行针对性的优化建议。转载 2024-05-30 08:48:39 · 160 阅读 · 0 评论 -
聊聊 mongodb、redis、mysql 区别
在不同的引擎上有不同 的存储方式。查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。开源数据库的份额在不断增加,mysql的份额页在持续增长。缺点就是在海量数据处理的时候效率会显著变慢。转载 2024-05-08 12:56:20 · 32 阅读 · 0 评论 -
MongoDB常用命令大全
是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。一、数据库相关(1)完整(mongoDB 6.0版本之后。转载 2024-05-08 12:37:46 · 1865 阅读 · 0 评论 -
Windows设置Redis为开机自启动的流程步骤
Redis作为当前最常用的当前缓存技术,基本上Web应用中都有使用。所以,每次我们在本地启动项目前,都必须将Redis服务端启动。但是,每次都要去启动Redis就很麻烦,有没有办法做到开机自动启动Redis呢?这当然是可以的,本文主要就是介绍Windows系统如何配置开机启动Redis。转载 2024-05-08 09:58:32 · 757 阅读 · 0 评论 -
PostgreSQL - 基础入门
如果table1具有“x”行,而table2具有“y”行,则所得到的表将具有(x * y)行。它是开源的,其源代码是免费提供的。它是用PHP编写的PostgreSQL的基于Web的管理工具。它是一个命令行工具,也是管理PostgreSQL的主要工具。此连接返回满足连接条件的多个表中的所有行。左外连接返回从“ON”条件中指定的左侧表中的所有行,只返回满足条件的另一个表中的行。右外连接返回从“ON”条件中指定的右侧表中的所有行,只返回满足条件的另一个表中的行。固定长度字符串,右边的空格填充到相等大小的字符。原创 2024-04-15 10:24:06 · 1038 阅读 · 0 评论 -
[转]mysql的sql优化工具
一般来说,SQL查询优化器分析给定查询的许多选项,预估每个选项的成本,最后选择成本最低的选项。如果查询优化器选择了错误的计划,则性能差异可能从几毫秒到几分钟。幸运的是,现在有许多第三方SQL查询优化工具可以自动优化每个SQL查询。这些工具极大地简化了开发人员和数据库管理员的工作,因为他们提供了正确的查询调优建议和索引建议。现在我们已经知道了SQL查询优化器的重要性,以下推荐几款不错的工具。转载 2022-12-19 08:14:30 · 1974 阅读 · 0 评论 -
SQL小技巧,动态输出本周各天日期
【代码】SQL小技巧,动态输出本周各天日期。原创 2022-11-07 20:04:50 · 444 阅读 · 0 评论 -
SQL优化大法
复合索引也称为联合索引,当我们创建一个联合索引的时候,如(k1,k2,k3),相当于创建了(k1)、(k1,k2)和(k1,k2,k3)三个索引,这就是最左匹配原则。如果字段的大小有变化,应用就会受到影响,因为它必须修改字段宽度。默认新增SQL有事务控制,导致每条都需要事务开启和事务提交,而批量处理是一次事务开启和提交,效率提升明显,达到一定量级,效果显著,平时看不出来。列经常被修改,而且每次被修改的数据的长度不同,这会引起“行迁移”现象,而这造成多余的I/O,是数据库设计中要尽力避免的,这种情况下用。转载 2022-09-25 17:02:30 · 981 阅读 · 0 评论 -
三招从 20s 优化到 500ms
接口性能问题,对于从事后端开发的同学来说,是一个绕不开的话题。想要优化一个接口的性能,需要从多个方面着手。本文将会围绕接口性能优化这个话题,从实战的角度出发,聊聊我是如何优化一个慢查询接口的。上周我优化了一下线上的批量评分查询接口,将接口性能从最初的20s,优化到目前的500ms以内。总体来说,用三招就搞定了。到底经历了什么?温馨提醒一下,无论是在批量查询评价接口数据库,还是在业务系统中调用批量查询评价接口,使用多线程调用,都只是一个临时方案,并不完美。...转载 2022-07-19 10:26:30 · 150 阅读 · 0 评论 -
15000 字的 SQL 语句大全,值得收藏!
1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server4、说明:创建新表create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表)B:create table tab转载 2022-07-10 21:39:56 · 576 阅读 · 0 评论 -
SpringData JPA、Hibernate、Mybatis三者的区别
SpringData JPA只是接口,一种规范,具体的实现还是ORM做的Hibernate是完备的 ORM 框架,是符合 JPA 规范的,Hibernate 使用 JPA 就可以无需考虑数据库的兼容性问题。MyBatis不完备的ORM框架,比单纯写 JDBC 肯定是方便一点,但无可避免还是要写SQL,且无法做到跨数据库 。......原创 2022-06-13 09:44:35 · 521 阅读 · 0 评论 -
MongoDB精华总结
MongoDB是属于文档型的NoSQL数据库,也就是文档数据库。文档数据库区别于传统的其它数据库,它是用来管理文档。在传统的数据库中,信息被分割成离散的数据段,而在文档数据库中,文档是处理信息的基本单位,一个文档相当于关系数据库中的一条记录。总体的数据结构与关系型数据库对比表格:其中document是bson格式的,例子:其数据结构类型表格(参照官网的):存储引擎是数据库的组成部分,负责管理数据在内存和磁盘中的存储方式。MongoDB支持多个存储引擎,因为不同的引擎对于特定的工作负载表现更好。3.转载 2022-06-11 21:20:16 · 1723 阅读 · 1 评论 -
如果要存ip地址,用什么数据类型比较好
在看高性能MySQL第3版(4.1.7节)时,作者建议当存储IPv4地址时,应该使用32位的无符号整数(UNSIGNED INT)来存储IP地址,而不是使用字符串。但是没有给出具体原因。为了搞清楚这个原因,查了一些资料,记录下来。节省空间,不管是数据存储空间,还是索引存储空间 便于使用范围查询(BETWEEN...AND),且效率更高 通常,在保存IPv4地址时,一个IPv4最小需要7个字符,最大需要15个字符,所以,使用VARCHAR(15)即可。MySQL在保存变长的字符串时,还需要额外的一个字节来保存转载 2022-06-05 20:55:05 · 168 阅读 · 0 评论 -
TKMybatis 介绍和使用
目录一、什么是 TKMybatis二、TKMybatis 使用2.1 Springboot 项目中加入依赖2.2 使用讲解2.2.1 实体类中使用2.2.2 dao中使用2.2.3 Service 层中使用2.3 实际案例2.3.1 dao 层使用2.3.2 service 层使用TKMybatis 是基于 Mybatis 框架开发的一个工具,内部实现了对单表的基本数据操作,只需要简单继承 TKMybatis 提供的接口,就能够实现无需编写任何 sql 即能完成单表操作。 在 POJO 类中加入依赖转载 2022-06-02 19:21:59 · 1402 阅读 · 0 评论 -
50 个 Redis 必备知识:基础知识,架构、调优和监控知识及难点解决
本文包括:30 个 Redis 基础知识;10个 Redis 架构和运维必懂的知识;Redis 调优、监控知识和10个具体应用难点。本篇文档已整理成pdf文档,需要的同学文末自取30 个 Redis 基础知识1、Redis支持哪几种数据类型?String、List、Set、Sorted Set、hashes2、Redis主要消耗什么物理资源?Redis是一种基于内存高性能的数据库--- 主要依赖于内存3、Redis有哪几种数据淘汰策略?noeviction:返回错误当内存限制达转载 2022-05-02 12:09:56 · 374 阅读 · 0 评论 -
8 种最坑的SQL错误用法
1、LIMIT 语句 2、隐式转换 3、关联更新、删除 4、混合排序 5、EXISTS语句 6、条件下推 7、提前缩小范围 8、中间结果集下推 总结 sql语句的执行顺序:FROM<left_table>ON<join_condition><join_type>JOIN<right_table>WHERE<where_condition&...转载 2022-04-24 09:35:05 · 73 阅读 · 0 评论 -
ELK介绍
文章目录 1.ELK简介 2.ELK架构图 3.Filebeat工作原理 4.Logstash工作原理 1.ELK简介ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。...转载 2022-04-10 09:27:26 · 15102 阅读 · 0 评论 -
DBeaverEE 21.1.0安装指南
1、 安装jdk112、 配置环境变量 将jdk11安装目录加入path:C:\Program Files\Java\jdk-11.0.10\bin3、 安装DBEE 21.14、 将dbeaver-agent文件夹复制到DBEE安装目录5、 修改dbeaver.ini文件,在文件最后添加一行指向dbeaver-agent.jar文件:-javaagent:D:\Program Files\DBeaverEE\dbeaver-agent\dbeaver-agent.jar6原创 2021-07-06 15:20:07 · 4517 阅读 · 1 评论 -
[转]常见的用户密码加密方式以及破解方法
【作者】张辉,就职于携程技术中心信息安全部,负责安全产品的设计与研发。作为互联网公司的信息安全从业人员经常要处理撞库扫号事件,产生撞库扫号的根本原因是一些企业发生了信息泄露事件,且这些泄露数据未加密或者加密方式比较弱,导致黑客可以还原出原始的用户密码。目前已经曝光的信息泄露事件至少上百起,其中包括多家一线互联网公司,泄露总数据超过10亿条。要完全防止信息泄露是非常困难的事情,除了...转载 2020-03-21 13:53:05 · 1899 阅读 · 0 评论 -
Navicat Premium 64 bit 12.1.25
Navicat Premium可让你以单一程序同時连接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 数据库,是一个可多重连接的数据库管理工具,它让管理不同类型的数据库更加方便。官方下载地址:https://www.navicat.com.cn/download/navicat-for-mysql软件...原创 2019-12-10 08:49:19 · 2840 阅读 · 1 评论 -
[转]Redis持久化存储(AOF与RDB两种模式)
Redis中数据存储模式有2种:cache-only,persistence;cache-only即只做为“缓存”服务,不持久数据,数据在服务终止后将消失,此模式下也将不存在“数据恢复”的手段,是一种安全性低/效率高/容易扩展的方式; persistence即为内存中的数据持久备份到磁盘文件,在服务重启后可以恢复,此模式下数据相对安全。对于persistence持久...转载 2019-10-03 12:17:35 · 172 阅读 · 0 评论 -
数据库分类介绍
在当今的互联网中,最常见的数据库模型主要是两种,即“关系型数据库”和“非关系型数据库”。一、关系型数据库1、关系型数据库的由来虽然网状数据库和层次数据库已经很好的解决了数据的集中和共享问题,但是在数据库独立性和抽象级别上扔有很大欠缺。用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径。而关系型数据库就可以较好的解决这些问题。2、关系型数据...原创 2019-09-27 20:55:26 · 310 阅读 · 0 评论