![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 87
菜鸟小杰
只要学不死,就往死里学!!!
展开
-
explain详解
explain详解在日常工作中, 我们会记录一些执行时间比较久的SQL语句, 找出这些SQL语句并不意味着完事了, 我们常常用到explain这个命令来查看一个这些SQL语句的执行计划, 查看该SQL语句有没有使用上了索引, 有没有做全表扫描。使用很简单,就是在sql前加上explainexplain select name from student where id= 100这是我的表,里面有一千万条数据。用来测试索引。1. idid 值相同时,被视为一组从上向下执行。如果是子查询,id原创 2021-10-07 17:00:01 · 3664 阅读 · 0 评论 -
Mysql索引
Mysql索引B树与B+树相对于cpu和内存操作,磁盘IO开销很大,非常容易成为系统的性能瓶颈,因此计算机操作系统做了一些优化:当一次IO时,将相邻的数据也都读取到内存缓冲区内,而不是仅仅读取当前磁盘地址的数据。每一次IO读取的数据我们称之为一页(page)。具体一页有多大数据跟操作系统有关,一般为4k或8k,也就是我们读取一页内的数据时候,实际上才发生了一次IO,这个理论对于索引的数据结构设计非常有帮助。为什么索引能提升数据库查询效率呢?根本原因就在于索引减少了查询过程中的IO次数。那么它是如何做原创 2021-10-06 16:01:47 · 70 阅读 · 0 评论 -
MySQL快速插入百万行测试数据
MySQL快速插入百万行测试数据整体思路:1、如何产生大量数据?可以利用循环,重复制造大量数据2、如何快速将数据存储(插入)数据表?直接使用循环也可以做到,但是速度可能会相对慢一点。可以利用MYSQL MEMORY引擎,加速数据的插入。-- 1、创建内存表-- 使用MEMORY数据库引擎,创建内存表。-- 将数据直接插入内存表,再将数据从内存表复制到普通表,效率优于直接插入普通表CREATE TABLE `table_in_memory` ( `id` INT(6) NOT NUL原创 2021-10-06 15:58:52 · 1526 阅读 · 1 评论 -
MySQL存储过程
MySQL存储过程存储过程是数据库的一个重要对象,可以封装SQL,完成一些复杂的业务逻辑。使用存储过程,最主要的特点是执行速度快,其经过编译后会比一条一条单独执行快,也能避免频繁的连接而消耗资源。语法结构创建的语法结构create [definer = user] -- 用来指定用户的执行权限,默认所有用户可用; procedure procedure_name([proc_parameter[,...]])原创 2021-09-25 23:25:44 · 159 阅读 · 0 评论 -
MySQL
一、什么是数据库数据库 ( DataBase , 简称DB )概念 : 长期存放在计算机内,有组织,可共享的大量数据的集合,是一个数据 “仓库”作用 : 保存,并能安全管理数据(如:增删改查等),减少冗余…数据库总览 :关系型数据库 ( SQL )MySQL , Oracle , SQL Server , SQLite , DB2 , …关系型数据库通过外键关联来建立表与表之间的关系非关系型数据库 ( NOSQL )Redis , MongoDB , …非关系型数据原创 2021-09-08 06:57:52 · 149 阅读 · 0 评论