数据库
文章平均质量分 69
白鸽呀
这个作者很懒,什么都没留下…
展开
-
Mysql中explain优化分析详解
mysql体系结构性能分析前提知识MySQL Query OptimizerMysql中有专门负责优化SELECT语句的优化器模块,主要功能:通过计算分析系统中收集到的统计信息,为客户端请求的Query提供他认为最优的执行计划(他认为最优的数据检索方式,但不见得是DBA认为是最优的,这部分最耗费时间)当客户端向MySQL请求一条Query,命令解析器模块完成请求分类,区别出是SELECT并转发给MySQL Query Optimizer时,MySQL Query Optimizer首先会对整条Qu原创 2021-08-03 10:58:40 · 1844 阅读 · 0 评论 -
excel 分离数字和中文
背景使用excel导入数据到数据库中时,可能出现类型不一致问题,或者缺少字段例如 excel中 注册资本为5000万人名币 , 实际数据库字段类型为 double 和 varchar。那么需要对单元格进行数字中文拆分解决如题:...原创 2021-09-27 21:57:30 · 353 阅读 · 0 评论 -
为什么要使用PreparedStatement并且其能防止sql注入
1,执行效率:Statement 采取直接编译 SQL 语句的方式,扔给数据库去执行,而 PreparedStatement 则先将 SQL 语句预编译一遍,再填充参数,这样效率会高一些。JDK 文档说:SQL 语句被预编译并且存储在 PreparedStatement 对象中,其后可以使用该对象高效地多次执行该语句。2,代码可读性:Statement 中 SQL 语句中需要 Java 中的变量,加就得进行字符串的运算,还需要考虑一些引号、单引号的问题,参数变量越多,代码就越难看,而且会被单引号、双引号原创 2021-08-11 21:09:33 · 1178 阅读 · 0 评论 -
数据平台的4个阶段:从数据库到数仓再到中台,超详细的架构全解
在大数据时代,凡是AI类项目的落地,都需要具备数据、算法、场景、计算力四个基本元素,缺一不可。处理大数据已经不能仅仅依靠计算力就能够解决问题,计算力只是核心的基础,还需要结合不同的业务场景与算法相互结合,沉淀出一个完整的智能化平台。数据中台就是以云计算为数据智能提供的基础计算力为前提,与大数据平台提供的数据资产能力与技术能力相互结合,形成数据处理的能力框架赋能业务,为企业做到数字化、智能化运营。目前,外界与业内很多人对于数据中台的理解存在误区,一直只是在强调技术的作用,强调技术对于业务的推动作用,但在转载 2021-09-27 21:25:36 · 2060 阅读 · 0 评论 -
Mysql 建表注意事项
1、原创 2022-09-22 21:24:30 · 1723 阅读 · 0 评论 -
Mysql常用命令
mysql查看表结构命令有的时候,无法通过navicat这些可视化工具,查看表字段信息,是否自增,使用上面引擎等,通过一下命令查看1、desc 表名;2、show columns from 表名;3、describe 表名;4、show create table 表名;mysql类型转换有时候数据类型需要处理,才能进行etl数据抽取,例如将字符串转deciamlselect cast(‘102.2’ as decimal(18,2));select convert(decimal(18,2原创 2021-09-27 21:34:00 · 71 阅读 · 0 评论 -
EXCEL转成日期时出现负日期或时间显示为#######
如图:只需要修改 日期格式即可选择自定义或者 日期都可以原创 2021-09-27 21:51:11 · 2377 阅读 · 0 评论 -
Mysql执行DELETE不会删除磁盘数据
一般来说是的,但数据插入并不一定一自增的方式插入,原来id=30的位置可能并没有数据,数据插入之前进行比较10原创 2022-09-22 20:41:21 · 2440 阅读 · 1 评论 -
数据库三大范式(通俗理解)
范式:英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法。目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF。通常所用到的只是前三个范式,即:第一范式(1NF),第二范式(2NF),第三范式(3NF)。下面就简单介绍下这三个范式。◆ 第一范式(1NF):强调的是列的原子性,即列不能够再转载 2021-08-13 15:46:31 · 14998 阅读 · 0 评论 -
Mysql中的复合索引(联合索引)原理
联合索引原理联合索引,通过顺序比较对应的值,来实现排序和查找。对于每一个联合索引所在页,都包含对应参与联合索引列的值,和指向子节点的指针。create index idx_T1_abc on T1(a,b,b);上诉步骤为T1创建联合索引联合索引具体查找步骤:当咱们的SQL语言能够应用到索引的时候,好比 select * from T1 where b = 12 and c = 14 and d = 3 ;也就是T1表中a列为4的这条记录。查找步骤具体以下:1、存储引擎首先从根节点(通常常驻原创 2021-08-03 15:05:56 · 3710 阅读 · 0 评论 -
Mysql中的读写锁,表锁和行锁,间隙锁
Msql数据库锁理论概述锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。锁的分类从对数据操作的类型(读\写)分读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响。写锁(排它锁):当前写操作没有完原创 2021-08-04 20:04:36 · 2551 阅读 · 1 评论 -
navicat导入excel数据日期是1900年的问题
navicat非常强大,可以支持多种文件格式数据导入,导出一般而言,我们通常需要将excel导入的时候,会出现 表中日期格式的数据 内容为 1900xxxx 的问题问题常见原因:1、excel表中格式,与 数据表格式不一致2、excel表中 日期格式列数据可能为null,导致解决:导入excel数据之前,先将数据库数据表 日期类型字段 类型改为 varchar 数据导入之后, 将varchar数据类型改为日期类型...原创 2021-09-24 17:31:13 · 4460 阅读 · 0 评论 -
数据库和数据仓的本质区别
数据库:传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。数据仓库:数据仓库系统的主要应用主要是OLAP(On-Line Analytical Processing),支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。我尝试着再补充些具体的事例来说明,这样更可以帮助大家更好理解一些。举个最常见的例子,拿电商行业来说好了。基本每家电商公司都会经历,从只需要业务数据库到要数据仓库的阶段。电商早期启动非常容易,入行门槛低。找个外包团队,做了一个可以下单的网页前端 + 几台转载 2021-09-17 09:44:17 · 260 阅读 · 0 评论 -
Mysql中的回表查询
基础知识Mysql中的B-Tree和B+Tree原理解析MySQL MyISAM和Innodb索引实现原理分析什么是回表查询注意:mysql默认使用的innodb引擎,主键索引 == 聚集索引,辅助索引 == 普通索引。 这两个术语呢,可能在不同文章说法不同,但本质一样回表查询,实际查询两次,通过辅助索引(普通索引)实现的。因为辅助索引叶子节点不存放记录数据,只存放普通值和对应记录主键值例如:表t中有四条记录:1, shenjian, m, A3, zhangsan, m, A5,原创 2021-08-02 22:44:50 · 4157 阅读 · 0 评论 -
MySQL的MVCC及实现原理
什么是 MVCC ?MVCCMVCC,全称 Multi-Version Concurrency Control ,即多版本并发控制。MVCC 是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。mvcc - @百度百科MVCC 在 MySQL InnoDB 中的实现主要是为了提高数据库并发性能,用更好的方式去处理读-写冲突,做到即使有读写冲突时,也能做到不加锁,非阻塞并发读什么是当前读和快照读?在学习 MVCC 多版本并发控制之前,我们必须先了解一下,转载 2021-08-14 15:58:30 · 819 阅读 · 0 评论 -
远程连接服务器mysql,连接失败
防火墙查看防火墙是否打开sysytemctl status firewalld如果没有打开需要打开防火墙systemctl start firewalld 或者 firewall-cmd --reload如果防火墙开了,查看对应的3306端口是否向外开放firewall-cmd --list-all如果没有开放该端口,那么firewall-cmd --permanent --add-port=3306/tcp 开放firewall-cmd --reload原创 2021-03-04 22:26:31 · 198 阅读 · 1 评论 -
Mysql中 慢查询日志和show profile进行sql分析
慢查询日志MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。慢查询sql具体指运行时间超过long_query_time(阀值)值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10秒以上的语句。由他来查看哪些SQL超出了我们的最大忍耐时间值,比如一条sql执行超过5秒钟,我们就算慢SQL,希望能收集超过5秒的sql,结合原创 2021-08-04 16:17:38 · 470 阅读 · 0 评论 -
MySQL MyISAM和Innodb索引实现原理分析
B+Tree实现原理和基本知识B+Tree实现原理MyISAM 索引(叶子节点存放指向记录地址)MyISAM 引擎使用 B+Tree 作为索引结构,叶节点的 data 域存放的是数据记录的地址上图中,我们以Col1为主键primary Key。对于B+Tree而言,非叶子节点存放的是键值+指向子节点的指针对于MyISAM而言,在B+Tree中,将叶子节点中的data存放的是实际记录的地址记录数据并非聚集在叶子节点当中,因此,MyISAM 的索引方式也叫做“非聚集索引”In原创 2021-08-02 21:40:44 · 564 阅读 · 0 评论 -
Mysql数据类型详解
1、整数类型,包括TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,分别表示1字节、2字节、3字节、4字节、8字节整数。任何整数类型都可以加上UNSIGNED属性,表示数据是无符号的,即非负整数。长度:整数类型可以被指定长度,例如:INT(11)表示长度为11的INT类型。长度在大多数场景是没有意义的,它不会限制值的合法范围,只会影响显示字符的个数,而且需要和UNSIGNED ZEROFILL属性配合使用才有意义。例子,假定类型设定为INT(5),属性为UNSIGNED ..转载 2021-08-13 16:50:30 · 3811 阅读 · 0 评论 -
Mysql中的B-Tree和B+Tree原理解析
基本知识1、操作系统从磁盘读取数据到内存时是以磁盘块(block)为基本单位的2、InnoDB存储引擎是按页来处理数据的,因此B-Tree/B+Tree的基础分配单位是页。InnoDB存储引擎中默认每个页的大小为16KB。通过以下命令进行茶盘mysql> show variables like 'innodb_page_size';3、磁盘块(block)实际上并没有这么大,因此InnoDB每次申请磁盘空间时都会是若干地址连续磁盘块来达到页的大小16KB。平衡多路查找树(B-Tree)(原创 2021-08-02 19:23:50 · 877 阅读 · 0 评论 -
Mysql中索引失效常见原因和解决方案
索引失效跳过复合索引中间列,或首列CREATE TABLE IF NOT EXISTS article( id INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, author_id INT(10) UNSIGNED NOT NULL, category_id INT(10) UNSIGNED NOT NULL, views INT(10) UNSIGNED NOT NULL, comments INT(10) UNSIGNED NOT原创 2021-08-03 15:55:30 · 1785 阅读 · 0 评论 -
Mysql中sql索引优化和慢sql日志,show profiles分析,mysql锁
基础知识和B+tree原理sql性能下降的原因1、sql写的不行2、索引失效3、多表关联太多join on4、服务器调优及各个参数设置(缓冲、线程数等)注意:innodb中按索引列是否为主键列将索引分为聚集索引(主键索引)和普通索引(辅助索引)。按创建的索引列数目分:包含单值索引,复合索引单值索引select * from user where name='';create index idx_user_name on user(name);复合索引select * from use原创 2021-08-04 20:05:39 · 1007 阅读 · 0 评论 -
MySQL数据库面试题
数据库基础知识为什么要使用数据库数据保存在内存优点: 存取速度快缺点: 数据不能永久保存数据保存在文件优点: 数据永久保存缺点:1)速度比内存操作慢,频繁的IO操作。2)查询数据不方便数据保存在数据库1)数据永久保存2)使用SQL语句,查询方便效率高。3)管理数据方便什么是SQL?结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询语言。作用:用于存取数据、查询、更新和管理关系数据库系统。什么是MySQL?MySQL是一个关系型数据转载 2021-08-14 22:46:32 · 7583 阅读 · 0 评论 -
mysql8.0配置文件优化
/etc/my.cnf,作为mysql配置文件,可以优化mysql核心参数含义innodb_buffer_pool # 注:缓冲池位于主内存中,InnoDB用它来缓存被访问过的表和索引文件,使常用数据可以直接在内存中被处理,从而提升处理速度;innodb_buffer_pool_instance# 注:MySQL5.6.6之后可以调整为多个。表示InnoDB缓冲区可以被划分为多个区域,也可以理解为把innodb_buffer_pool划分为多个实例,可以提高并发性,避免在高并发环境下,出现内存的原创 2021-07-31 15:46:20 · 1771 阅读 · 0 评论 -
Mysql 分区表基本操作和注意事项
columns分区:为解决MySQL5.5版本之前RANGE分区和LIST分区支持整数分区而在MySQL5.5版本新引入的分区类型 子分区:对数据表中的每个分区再次进行分区。hash分区:根据给定的分区个数,结合一定的hash算法,将数据分散存储到不同的分区,可以使用用户自定义的函数。1、分区键必须作为主键的一部分,因此分区键建议与原来表id作为联合主键!7、分区只能在当前基础上增加,不能反向增加分区(删除的分区,直接增加那个分区是不行的)2、、查询条件里需包含分区键(非必选)6、当月分区不可删除。原创 2022-09-22 21:04:15 · 1037 阅读 · 0 评论 -
pgsql导入导出数据
【代码】pgsql导入导出数据。原创 2024-08-27 11:22:40 · 1142 阅读 · 0 评论