数据库优化
夕麻
这个作者很懒,什么都没留下…
展开
-
MySQL-索引优化案例
单表优化建表create table article(id int unsigned not null primary key auto_increment,author_id int unsigned not null,category_id int unsigned not null,views int unsigned not null,comments int unsigne...原创 2020-02-02 11:31:30 · 172 阅读 · 0 评论 -
MySQL分区表
分区表的特点在逻辑上为一个表,在物理上存储在多个文件中分区键分区引入了分区键的概念,分区键用于根据某个区间值、特定值、或者HASH函数值执行数据的聚集,让数据根据规则分布在不同的分区中。分区类型RANGE分区LIST分区HASH分区无论那种分区类型,要么分区表上没有主键/唯一键,要么分区表的主键/唯一键都必须包括分区键,也就是说不能使用主键/唯一字段之外的其他字段分区RANGE分...原创 2020-01-31 18:16:38 · 248 阅读 · 0 评论 -
MySQL - 主从复制
什么是主从复制主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库,主数据库一般是准实时的业务数据库。在最常用的mysql数据库中,支持单项、异步赋值。在赋值过程中,一个服务器充当主服务器,而另外一台服务器充当从服务器;此时主服务器会将更新信息写入到一个特定的二进制文件中。并会维护文件的一个索引用来跟踪日志循环。这个日志可以记录并发送到从服务器的更新中去。当一台从服务器连接到主...原创 2020-01-31 16:36:29 · 210 阅读 · 0 评论 -
数据库锁
锁是计算机协调多个进程或线程并发访问某一资源的机制数据库锁分为以下几种表锁行锁间隙锁表锁(偏读)偏向MyISAM存储引擎,开销小,加锁快;无死锁,锁定粒度大,发送锁冲突的概率最高,并发度低表锁分为读锁和写锁两种。表锁案例建表并插入数据create table mylock(id int not null primary key auto_increment,name v...原创 2020-01-30 18:15:36 · 817 阅读 · 0 评论 -
使用Show Profile进行SQL分析
Show Profile是MySQL提供可以用来分析当前会话中语句执行的资源消耗情况,可以用于SQL的调优的测量。默认情况下,参数处于关闭状态,并保持最近15次的运行结果。Show Profile使用确认1、是否支持,看看当前MySQL版本是否支持2、 开启功能,默认是关闭,使用前需要开启show variables like 'profiling';如果是off则需要开启:se...原创 2020-01-30 15:11:30 · 423 阅读 · 0 评论 -
MySQL - 慢查询日志及函数使用
慢查询日志MySQL的慢查询日志MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阙值的语句,具体指运行时间超过 long_query_time 值的SQL,则会被记录到慢查询日志中long_query_time的默认值为10,意思是运行10秒以上的语句。由他来查看那些SQL超出了我们的最大忍耐时间值,比如一条SQL执行超过5秒钟,我们就算是慢SQL,希望能收集超过5秒的...原创 2020-01-30 14:46:42 · 1606 阅读 · 0 评论 -
索引优化及排序优化
索引优化索引的类型单值索引复合索引唯一索引实例建表:create table staffs(id int primary key auto_increment,name varchar(24) not null default "",age int not null default 0,pos varchar(20) not null default "",add_time...原创 2020-01-29 22:02:20 · 367 阅读 · 0 评论 -
explain分析SQL语句
影响服务器性能的几个方面服务器硬件服务器的操作系统数据库存储引擎的选择数据库参数配置数据库结构设计和SQL语句SQL性能下降原因查询语句写的不好索引失效关联查询太多join服务器调优及各个参数设置SQL加载顺序手写SQL的顺序select distinct<select _list>from<left_table>join <...原创 2020-01-29 18:57:57 · 395 阅读 · 0 评论 -
MySQL基准测试
基准测试是一种测量和评估软件性能指标的活动用于建立某个时刻的性能基准,以便当系统发生软硬件变化时重新进行基准测试以评估变化对性能的影响,是针对系统设置的一种压力测试。基准测试特点直接、简单、易于比较,用于评估服务器的处理能力可能不关心业务逻辑,所使用的查询和业务的真实性可以和业务环境没关系压力测试特点对真实的业务数据进行测试,获得真实系统所能承受的压力需要针对不同主题,所使用的数据和...原创 2020-01-29 17:58:43 · 207 阅读 · 0 评论 -
数据库存储引擎
MySQL整体架构MySQL主要分为四层架构,分别是网络连接层,服务层,存储引擎层,物理层。网络连接层主要负责连接管理,授权认证,安全等。每个客户端连接都对应着服务器上的一个线程。服务器上维护一个线程池,避免为每个连接创建和销毁线程。当客户端连接到MySQL服务器时,服务器对其进行认证。可以通过用户名与密码认证,也可以通过SSL证书进行认证。登录认证后,服务器还会验证客户端是否有执行某个查询...原创 2020-01-29 17:29:14 · 223 阅读 · 0 评论 -
MySQL高级
视图对于复杂的查询,往往是有多个数据表进行关联查询而得到,如果数据库因为需求等原因发生了改变,为了保证查询出来的数据与之前相同,则需要在多个地方进行修改,维护起来非常麻烦此时我们可以通过定义视图来解决此类问题视图是什么通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。视图是对若干张基本表的引用,一张虚表,查询语句...原创 2020-01-28 20:27:12 · 278 阅读 · 1 评论 -
MySQL与Python交互
数据准备创建数据表-- 创建 "京东" 数据库create database jd charset=utf8;-- 使用 "京东" 数据库use jd;-- 创建一个商品goods数据表create table goods(id int unsigned primary key auto_increment not null,name varchar(150) not null,...原创 2020-01-28 19:17:20 · 120 阅读 · 0 评论 -
MySQL外键
在实际开发的项目中,一个健壮数据库中的数据一定有很好的参照完整性。例如学生表和成绩单两张表,如果成绩单中有张三的成绩,学生表中张三的档案却被删除了,这样就会产生垃圾数据或者错误数据。为了保证数据的完整性,将两张表之间的数据建立关系,因此就需要在成绩表中添加外键约束班级表创建create table classes( id int(4) primary key not null auto_in...原创 2020-01-27 21:09:13 · 163 阅读 · 0 评论 -
SQL语句实例运用(2)
条件查询比较运算符select * from students where age>18;-- 查询 大于18岁 的信息select * from students where age<=20;-- 查询小于20岁的信息select * from students where age=18;-- 查询年龄为18岁的所有学生的名字不等于是 != 或者 <>sel...原创 2020-01-27 19:16:40 · 1873 阅读 · 0 评论 -
SQL语句实例运用(1)
数据库的操作链接数据库mysql -u root -proot -- 不推荐 密码直接展示mysql -uroot -p 退出数据库exit/quitsql语句最后需要有分号;结尾显示数据库版本select version();显示时间select now();查看所有数据库show databases;DDL(数据定义语句)创建数据库create ...原创 2020-01-27 17:43:01 · 1445 阅读 · 0 评论 -
MySQL查询
MySQL查询select基础语法select * from table_name;select完整语法select 去重选项 字段列表 [as 字段别名] from 数据源 [where子句] [group by 子句] [having子句] [order by 子句] [limit子句];查询所有字段查询指定字段使用 as 给字段起别名可以通过 as 给表起别名消除重复...原创 2020-01-26 20:08:08 · 251 阅读 · 0 评论 -
认识SQL
SQL简介SQL是结构化查询语言,是一种用来操作RDBMS(关系型数据库管理系统)的数据库语言,当前关系型数据库都支持使用SQL语言进行操作,也就是说可以通过SQL操作oracle,sql server,mysql等关系型数据库。SQL语句主要分为:1、DQL:数据查询语言,用于对数据进行查询,如select2、DML:数据操作语言,对数据进行增加、修改、删除,如insert、udpate...原创 2020-01-26 18:57:29 · 191 阅读 · 0 评论 -
数据库介绍
记录数据的方法传统的记录数据的方法是通过一些物质载体来书写记录数据这种传统记录数据的方法有以下缺点:1、不易保存2、备份困难3、查找不便现代化手段----文件但是通过文件保存也有一些缺点:1、对于数据容量较大的数据,不能够很好的满足,而且性能较差2、不易扩展这时还有一个更好的记录数据的方法——数据库使用数据库记录数据有下列优点:1、持久化存储2、读写速度极高3、保证数据...原创 2020-01-26 18:39:54 · 242 阅读 · 0 评论