经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 MySQL

varchar int 查询 到底什么情况下走索引?

  一个字符类型的、一个int类型的,查询的时候到底会不会走索引,其实很多工作了几年的开发人员有时也会晕,下面就用具体事例来测试一下。 1.  准备工作 先准备2张表,以备后续测试使用。 表1:创建表test1,总共3列,其中id 是主键(int),c_no 为...[2020/4/2]

Mybatis检查SQL注入

Mybatis 的 Mapper.xml 语句中 parameterType 向SQL语句传参有两种方式:#{ } 和 ${ }。 使用#{ }是来防止SQL注入,使用${ }是用来动态拼接参数。 如何排查出 1. 检查是否有$号 如果你使用的是ide代码编辑器,那么可以通过全局...[2020/4/1]

Mysql存储结构

Mysql存储结构

索引是一种加快查询速度的数据结构,常用索引结构有hash、B-Tree和B+Tree。本节通过分析三者的数据结构来说明为啥Mysql选择用B+Tree数据结构。 数据结构 Hash hash是基于哈希表完成索引存储,哈希表特性是数据存放是散列的。 优点: 等值查询快,通过has...[2020/4/1]

asp.net C# 连接MySQL8.0的caching_sha2_password问题

解决方法可用以下命令: 命令行登录mysql; mysql>use mysql; mysql>ALTER USER root IDENTIFIED WITH mysql_native_pa word BY ''你的密码''; mysql>FLUSH PRIVILEG...[2020/4/1]

MySQL优化之慢查询日志

MySQL优化之慢查询日志

慢查询日志概述 所谓慢查询日志,就是用于记录MySQL中响应时间超过设定阈值的SQL语句,通过打开慢查询开关,MySQL会将大于阈值的SQL记录在日志中,以便于分析性能。 慢查询日志选项默认是关闭的,如果要开启,则需要手动设置。 慢查询日志选项不建议一直开启,因为记录日志意味着IO操...[2020/4/1]

MySQL MyISAM和Innodb表生成序列 - Jia-Xin

目录背景分析测试结论 背景 应用端需要生成依次递增的序列来做流水序号等,方案有1、redis /MySQL SEQUENCE引擎生成序列;2、MySQL中myisam表 replace into方式;3、MySQL中innodb表INSERT ... ON DUPLICATE KEY...[2020/4/1]

MySQL到底能有多少个字段

今天技术讨论群里 “一切随遇而安”同学看书时出现一个疑问,一个MySQL的表中到底可以有多少个字段?带着这个疑问,我们展开了探讨,也接着讨论了一个单字段长度的问题。 1.  官方文档说明 官方文档的内容如下,主要意思是字段个数限制达不到理想的4096个...[2020/4/1]

MySQL索引背后的数据结构及算法原理

MySQL索引背后的数据结构及算法原理

        本文(面对的是程序员而非专业数据库管理员DBA)以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,...[2020/4/1]

Mysql实战45讲----为什么学习mysql

  即使是一个开发工程师,也只是 MySQL 的用户,但在了解了一个个系统模块的原理后,再来使用它,感觉是完全不一样的。   当在代码里写下一行数据库命令的时候,就能想到它在数据库端将怎么执行,它的性能是怎么样的,怎样写能让应用程序访问数据库的性能最高。进一步,哪些数据处理让数据库系统...[2020/4/1]

Mysql中的三类锁,你知道吗?

导读 正所谓有人(锁)的地方就有江湖(事务),人在江湖飘,怎能一无所知? 今天来细说一下Mysql中的三类锁,分别是全局锁、表级锁、行级锁。 文章首发于作者公众号【码猿技术专栏】,原创不易,喜欢的点个赞关注一下,谢谢!!! 全局锁 全局锁简单的说就是锁住整个数据库实例,命...[2020/4/1]

MySQL 外键关联策略

  eg.一个用户可有拥有多个订单,一个订单只能属于一个用户,一对多,在tb_order中使用外键user_id关联tb_user的id。 当删除、更新tb_user中的主键时,与之关联的tb_order要受到影响,比如 #tb_user中的一条记录 1 chy a...[2020/3/31]

mysql常用函数

mysql常用函数

做项目的时候用数据库函数会方便很多,这样就不用每次取出来用php函数取遍历修改数据,这次有时间将常用的mysql数据库函数都整理了一下。 字符函数 数值运算符与函数 比较运算符与函数 日期时间函数 信息函数 聚合函数 加密函数 字符函数 CONCAT(str1,str2,...):...[2020/3/31]

[MySQL] innoDB引擎的主键与聚簇索引

mysql的innodb引擎本身存储的形式就必须是聚簇索引的形式 , 在磁盘上树状存储的 , 但是不一定是根据主键聚簇的 , 有三种情形: 1. 有主键的情况下 , 主键就是聚簇索引 2. 没有主键的情况下 , 第一个非空null的唯一索引就是聚簇索引 3. 如果上面都没有 , 那...[2020/3/31]

[MySQL] 有没有解决幻读问题

默认隔离级别下 , mysql没有解决幻读问题 , 需要应用代码里加一个锁来解决 幻读问题是啥?   默认的隔离级别是可重复读 REPEATABLE-READ   ,  在这个模式下出现幻读的例子一般是这两种情况: 事务1和事务2...[2020/3/31]

java结合email实现自动推送

1、获取表中最后一条数据 1 public static String demo() throws SQLException { 2 String sql = "select * FROM baoxiu ORDER BY id DESC LIMIT 0,1;"; 3 ...[2020/3/31]

Mysql性能优化:什么是索引下推?

导读 本文章始发于本人公众号:码猿技术专栏,原创不易,谢谢关注推荐。 索引下推(index condition pushdown )简称ICP,在Mysql5.6的版本上推出,用于优化查询。 在不使用ICP的情况下,在使用非主键索引(又叫普通索引或者二级索引)进行查询时,存储引...[2020/3/31]

基础架构(1)

基础架构(1)

MySQL分为两部分: Server层 包含连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。 存储引擎层 负责数据的存储和提取。其...[2020/3/30]

日志系统(2)

日志系统(2)

redo log redo log:重做日志。每当有操作时,在数据变更之前将操作写入redo log,这样当发生掉电之类的情况时系统可以在重启后继续操作 undo log:称为撤销日志,当一些变更执行到一半无法完成时,可以根据撤销日志恢复到变更之间的状态。 redo log位于存储引...[2020/3/30]

事务隔离(3)

事务 保证一组数据库操作,要么全部成功,要么全部失败。 ACID特性 原子性:Atomicity 一致性:Consistency 隔离性:Isolation 持久性:Durability 当数据库中有多个事务同时执行的时候,就可能出现脏读(dirty read)、不可重复读(no...[2020/3/30]

索引上(4)

索引 作用:提高数据查询的效率 常用索引模型 哈希表 有序数组 搜索树 哈希表 以键值对的形式存储,适合于只有等值查询的场景。 用一个哈希函数把key换算成一个确定的位置,然后把value这个位置的数组中。一个key会对应一个数组,数组中会有多个value,value并不是有...[2020/3/30]

mysql入门(一)

数据库介绍 数据库是在计算机出现以后,为了解决计算机存储问题而创建,数据库中包含表,表当中才是数据。 数据库的发展史 1. 萌芽阶段 所有存储依赖的都是文件,安全性低,查找非常困难。 2. 层次模型 1). 优点:查询分类的效率高; 2). 缺点:导航结构:如果查找同类...[2020/3/30]

MySQL数据库升级

当前不少系统的数据库依旧是MySQL5.6,由于MySQL5.7及MySQL8.0在性能及安全方面有着很大的提升,因此需要升级数据库。本文通过逻辑方式、物理方式原地升级来介绍MySQL5.6 升级至MySQL5.7的方法,并介绍其使用场景。 1.  逻辑方式升级 逻辑方式升级...[2020/3/30]

mysql入门(五)

mysql入门(五)

SQL编程 1).if-elseif-else语句 语法: if 条件 then 条件1 elseif 条件 then 条件2 else 条件3 end if; 示例演示: create procedure pro_9(in grade int) ...[2020/3/30]

MySQL数据库02

MySQL数据库  前言:   前面我们了解了什么是数据库,什么是MySQL数据库以及如何运用,接下来我们接着深入学习MySQL。   (提前声明,以下所提供的事例不标准,仅供参考)   数据库的备份与还原:   备份: 在cmd中输入 mysqld...[2020/3/30]

一条SQL查询语句是如何执行的?

导读 Mysql在中小型企业中是个香饽饽,目前主流的数据库之一,几乎没有一个后端开发者不会使用的,但是作为一个老司机,仅仅会用真的不够。 今天陈某透过一个简单的查询语句来讲述在Mysql内部的执行过程。 select * from table where id=10; ...[2020/3/30]

数据库连接池的原理?连接池使用什么数据结构实现?实现连接池?

数据库连接池的原理?连接池使用什么数据结构实现?实现连接池?

早期我们怎么进行数据库操作呢? 1、原理:一般来说,Java应用程序访问数据库的过程是: 加载数据库驱动程序; 通过jdbc建立数据库连接; 访问数据库,执行SQL语句; 断开数据库连接。 2、代码 1 查询所有用户 2 Public void FindAllUsers...[2020/3/30]

mysql入门(三)

数据库查询操作 关键字:selectselect   结果集   from   数据源   [where 条件]   [group by(分组)]   [having...[2020/3/30]

InnoDB基础

  在InnoDB中,数据存储在磁盘上,处理数据时需要先将数据从磁盘读取,再写到内存。InnoDB采用局部性原理加载。 一、局部性原理   从磁盘读取数据时,不需要一行一行读取,而是以页为单位读取,操作系统中一页4kb,InnoDB中一页16kb。   二、InnoDB页结构...[2020/3/30]

简单SQL语句

简单SQL语句

DDL 操作数据库 create database db1;                  创建数据库  show databases;                     查询所有的数据库名称 create database if not exists db1;   ...[2020/3/30]

Mysql性能优化:为什么要用覆盖索引?

导读   相信读者看过很多MYSQL索引优化的文章,其中有很多优化的方法,比如最佳左前缀,覆盖索引等方法,但是你真正理解为什么要使用最佳左前缀,为什么使用覆盖索引会提升查询的效率吗? 本篇文章将从MYSQL内部结构上讲一下为什么覆盖索引能够提升效率。 InnoD...[2020/3/30]

一则MySQL派生表优化案例

一则MySQL派生表优化案例

  笔者最近遇到一则典型的因为sql中存在派生表造成的性能案例,通过改写SQL改善了的性能,但当时并没有弄清楚这其中的原因,派生表究竟是什么原因会导致性能上的副作用。说来也巧,很快就无意中就看到下文中的提到的相关的派生表的介绍以及其特性之后,才发现个中缘由,本文基于此,用一个...[2020/3/30]

Linux(CentOS7)使用 RPM 安装 mysql 8.0.11的教程

Linux(CentOS7)使用 RPM 安装 mysql 8.0.11的教程

一、安装准备工作 1、查看 Linux 相关信息(Linux 命令行操作) (1)查看 Linux 版本,用于下载对应的 mysql。 【查看 Linux 信息:】 uname -a (2)检查是否已经安装过 mysql。 【检查 mysql 是否被安装】 rpm -q...[2020/3/27]

MySQL关于命令的问题、Exists关键字

truncate 与 delete 的区别 truncate table :删除内容、不删除定义、释放空间。 delete table : 删除内容、不删除定义、不释放空间。 drop table :删除内容和定义,释放空间。 1、truncate table 表名,只能删除表中...[2020/3/27]

JSP+Servlet+C3P0+Mysql实现的网上蛋糕店

本文存在视频版本,请知悉 项目简介 项目来源于:https: gitee.com/PositiveMumu/CakesShop/tree/master 这次分享一个蛋糕商场系统,还是很简单的系统。界面简洁但不粗糙。。 本系统基于JSP+Servlet+C3P0+Mysql...[2020/3/27]

简单了解mysql语句书写和执行顺序

mysql语句的书写顺序和执行顺序有很大差异。 书写顺序,mysql的一般书写顺写为: select <要返回的数据列> from <表名> <join, left join, right join...> join <join表&...[2020/3/27]

MySQL涉及锁的问题

如何并发的访问数据库呢?答案就是加锁。 接下来说一下,数据库的锁机制,数据库中都有哪些锁?   首先呢,锁是一种并发控制技术,锁是用来在多个用户同时访问同一个数据的时候保护数据的。 有2种基本的锁类型:   共享(S)锁:多个事务可封锁一个共享页;任何事务都不能修改该页;通常是该...[2020/3/27]

mysql整理

1.在mysql数据库内如何让自动增加字段从0开始 truncate table 表名 2.表中有A B C三列时,用SQL语句实现:当A列大于B列时选择A列,否则选择B列,当B列大于C列时选择B,否则选择C列 select case when A > B then A el...[2020/3/27]

脏读,不可重复读,幻读区别和避免

在了解脏读,不可重复度,幻读之前,首先要明白这三种情况的出现都是和数据库并发事务有关联的,如果所有的读写都按照队列的形式进行,就不会出现问题。 名词解析和解决方案 脏读 脏读又称无效数据读出(读出了脏数据)。一个事务读取另外一个事务还没有提交的数据叫脏读。 例如:事务T1修改了某个...[2020/3/27]

int型参数的SQL注入

int型参数的SQL注入

类似PHP语言的 mysql_real_escape_string() 的函数,在用来防范SQL注入的时候,可能会遇到int型注入成功的情况。 mysql_real_escape_string()用法 mysql_real_escape_string() 函数转义 SQL 语句中使用的...[2020/3/27]

MySQL基础篇(07):用户和权限管理,日志体系简介

本文源码:GitHub·点这里 || GitEE·点这里 一、MySQL用户 1、基础描述 在数据库的使用过程中,用户作为访问数据库的鉴权因素,起到非常重要的作用,安装MySQL时会自动生成一个root用户,作为数据库管理员,拥有所有权限。在多用户的应用场景下,可能需要给不同的用户分...[2020/3/27]

简单了解MySQL union all与union的区别

简单了解MySQL union all与union的区别

union 是对数据进行并集操作,不包括重复行,同时进行默认排序Union all 是对数据进行并集操作,包括重复行,不进行排序举例说明: 创建数据库表: CREATE TABLE `t_demo` ( `id` int(32) NOT NULL, `name` varch...[2020/3/27]

MySQL case when使用方法实例解析

首先我们创建数据库表: CREATE TABLE `t_demo` ( `id` int(32) NOT NULL, `name` varchar(255) DEFAULT NULL, `age` int(2) DEFAULT NULL, `num` int(3) ...[2020/3/27]

mysql8.0.19基础数据类型详解

mysql基础数据类型 mysql常用数据类型概览 ![1036857-20170801181433755-146301178](D:\笔记\mysql\复习\1036857-20170801181433755-146301178.png)1. 数字: 整型:tinyinit ...[2020/3/26]

MySQL数据备份与恢复(二) -- xtrabackup工具

 上一篇介绍了逻辑备份工具mysqldump,本文将通过应用更为普遍的物理备份工具xtrabackup来演示数据备份及恢复的第二篇内容。 1.  xtrabackup 工具的安装  1.1  安装依赖包 /* xtrabackup 的使用需要...[2020/3/26]

SQL中distinct的用法

SQL中distinct的用法

SQL中distinct的用法 distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段, 接下来通过本篇文章给大家分享SQL中distinct的用法...[2020/3/26]

MySQL数据库01

MySQL数据库  前言:   随着时代的进步,大数据也逐渐走进大家的生活中,成为大家密不可分的一样东西。因此,作为程序员的我们,要学习并会使用数据库。   什么是数据库?   数据库就是一个文件系统,通过标准的SQL语句获取数据   MySQL数据...[2020/3/25]

Mysql字符串截取函数使用教程

Mysql字符串截取函数使用教程

MySQL 字符串截取函数:left(), right(), substring(), substring_index()。还有 mid(), substr()。 其中,mid(), substr() 等价于 substring() 函数,substring() 的功能非常强大和灵活。...[2020/3/25]

一文讲清楚MySQL事务隔离级别和实现原理,开发人员必备知识点

经常提到数据库的事务,那你知道数据库还有事务隔离的说法吗,事务隔离还有隔离级别,那什么是事务隔离,隔离级别又是什么呢?本文就帮大家梳理一下。 MySQL 事务 本文所说的 MySQL 事务都是指在 InnoDB 引擎下,MyISAM 引擎是不支持事务的。 数据库事务指的是一组数据...[2020/3/25]

SQL注入的问题

首先,SQL语句应该考虑哪些安全性?   第一,防止SQL注入,对特殊字符进行过滤、转义或者使用预编译的SQL语句绑定变量。   第二,当SQL语句运行出错时,不要把数据库返回的错误信息全部显示给用户,以防止泄露服务器和数据库相关信息。 其次,什么叫做SQL注入呢,如何防止呢? ...[2020/3/25]

mysql刷题(不定时更新)

面试阶段大家基本都会问一些mysql的题,具体的高深理论以后再慢慢补充,但是刷题是不可避免的,下面直接上货 创建/删除表和索引系列 创建表 CREATE TABLE if not exists `test_date` ( `id` int(11) NOT NULL AUTO_...[2020/3/25]

123
2
记录数:2746 页数:1/5512345678910下一页尾页
加载更多