SQL 注入漏洞

logo 4 2025-02-12

SQL 注入 SQL 注入漏洞(SQL Injection)是 Web 开发中最常见的一种安全漏洞。可以用它来从数据库获取敏感信息,或者利用数据库的特性执行添加用户,导出文件等一系列恶意操作,甚至有可能获取数据库乃至系统用户最高权限。 而造成 SQL 注入的原因是因为程序没有有效的转义过滤用户的输入,使攻击者成功的向服 ...

详情...

Mysql 性能优化方法汇总

logo 2 2025-01-12

1、添加索引 2、合适的数据类型 尽可能小、尽可能定长、尽可能使用整数; 尽量使用对应的数据类型。比如,不要用字符串类型保存时间,用整型保存IP。 选择更小的数据类型。能用TinyInt不用Int。 3、当只要一行数据时使用 LIMIT 1 当你查询表的有些时候,你已经知道结果只会有一条结果,但因为你可能需要去fetc ...

详情...

MySql 索引介绍

logo 10 2024-06-28

索引是存储在一张表中特定列上的数据结构,索引是在列上创建的。并且,索引是一种数据结构。 索引作用 在索引列上,除了有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。 索引类型 主键索引:PRIMARY KEY,PRI ...

详情...

MySQL不能远程连接解决方法

logo 4 2024-06-28

mysql不能远程连接主要从以下3个方面着手解决: 1、如果是云服务器自建检查其安全组规则,查看一下是否放行了3306端口。 2、如果是云数据库检查是否开通外网,或内外网是否允许指定ip访问 3、在mysql库user表中添加一个用户 主机为 % 的任意主机(也可以编辑已有的用户),如果要指定IP远程访问,创建一个 主 ...

详情...

MySQL 基础架构

logo 4 2024-06-28

从MySQL 架构上来说,可以把 MySQL 拆解成几部分,如下图所示 大致上来说,MySQL 可以分为 Server层和 存储引擎层。 Server 层包括连接器、查询缓存、分析器、优化器、执行器,包括大多数 MySQL 中的核心功能,所有跨存储引擎的功能也在这一层实现,包括 存储过程、触发器、视图等。 存储引擎层 ...

详情...

SQL 的执行顺序

logo 2 2024-06-28

我们在编写一个查询语句的时候,是否考虑过sql语句的执行顺序,他是如何执行的呢? 如以下sql语句: SELECT DISTINCT < select_list > FROM < left_table > < join_type > JOIN < right_t ...

详情...

MySql 单表分页 Limit 性能优化

logo 5 2024-06-28

主要针对记录非常多的表 常用分页sql语句: select * from product limit start, count 当起始页较小时,查询没有性能问题,我们分别看下从10, 100, 1000, 10000开始分页的执行时间(每页取20条), 如下: select * from product limit ...

详情...

MySQL中当字段值为 `NULL` 时的注意事项

logo 14 2024-04-14

在MySQL中,当字段值为 NULL 时,它们通常不会参与常规的大小比较。在比较操作中,NULL 与任何其他值(包括另一个 NULL 值)进行比较时都不会被视为相等,也不会根据大小关系得出明确的结果。这是因为 NULL 代表未知或缺失的值,它不具有明确的大小属性。 以下是一些与 NULL 值比较相关的规则: 等值比 ...

详情...

MySQL 创建索引报错 "Specified key was too long; max key length is 767 bytes" 原因

logo 165 2023-02-21

在MySQL中,一般我们会给varchar类型设置255长度,但当我们给该字段设置索引时可能会报以下错误: #1071 - Specified key was too long; max key length is 767 bytes 报错原因: 767字节是 MySQL 版本5.6(以及以前版本)中 InnoDB 表 ...

详情...

MySql 定位和分析执行效率的方法

logo 476 2023-02-21

1、通过慢查询日志 slow.log 定位执行效率低的SQL MySQL开启慢查询日志,跑一段时间后拿日志中的慢查询语句进行 explain 分析。 2、通过 explain 分析低效 SQL 语句的执行计划 查询到效率低的 sql 语句后,可以通过 explain 分析低效 SQL 的执行计划。看是否可以基于索引查询 ...

详情...

MySql 字段类型说明和推荐

logo 81 2023-02-12

char(M)和varchar(M)的区别: char的长度是不可变的,而varchar的长度是可变的; char(M)定义的列的长度为固定的,M取值可以为0~255之间; varchar(M)定义的列的长度为可变长,M取值可以为0~65535之间; 注意这里的 M 是字符数,可以是M个汉字也可以是M个英文字母,与语言 ...

详情...

高并发系统数据库架构设计

logo 739 2023-02-12

在WEB网站的规模从小到大不断扩展的过程中,数据库的访问压力也不断的增加,数据库的架构也需要动态扩展,在数据库的扩展过程基本上包含如下几步,每一个扩展都可以比上一步骤的部署方式的性能得到数量级的提升。 WEB应用和数据库部署在同一台服务器上 一般的小规模的网站采用这种方式,用户量、数据量、并发访问量都比较小,否则单台服 ...

详情...