0

MySql,Mssql,Oracle三种数据库性能优缺点

1.什么是数据库? 简单的说,数据库(英文Database)就是一个存放数据的仓库,这个仓库是按照一定的数据结果(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的、我们可以通过数据库提供的多种方法来管理数据库里的数据更简单的形象理解,数据库和我们生活中存放杂物的仓库性质一样,区别只是存放的东西不同。2.MySql,Mssql,Oracle三种数据库性能优缺点:①MySQL优点 MySql是一个快速、多线程、多用户的SQL数据库服务器。几乎是免费的,支持正规的SQL查询语言和采用多种数据类型,能对数据进行各种详细的查询等。 MySql的核心程序采用完全的多线程编程。线程是轻量级的进程,...

阅读全文>>

0

MySQL8.0.18加强EXPLAIN,定位sql性能更直观

在mysql8.0.18版本之前,查看一个sql语句的执行计划,基本职能看到,sql是否走索引,使用哪个索引,是否是全部扫描,是否用到文件排序等等,如下所示mysql> explain select a.name,a.depno,b.name from t_test1 a inner join t_test2 b on a.depno=b.depno;+----+-------------+-------+------------+-------+-------------------+------+---------+------+------+----------+---------...

阅读全文>>

0

深入理解MySql的索引

为什么索引能提高查询速度先从 MySQL 的基本存储结构说起MySQL的基本存储结构是页 (记录都存在页里边) :各个数据页可以组成一个双向链表每个数据页中的记录又可以组成一个单向链表- 每个数据页都会为存储在它里边儿的记录生成一个页目录,在通过主键查找某条记录的时候可以在页目录中使用二分法快速定位到对应的槽,然后再遍历该槽对应分组中的记录即可快速找到指定的记录所以说,如果我们写select * from user where indexname = 'xxx'这样没有进行任何优化的sql语句,默认会这样做:定位到记录所在的页:需要遍历双向链表,找到所在的页从所在的页内中查找相应的记录:由于不...

阅读全文>>

0

Mysql8重大性能提升,支持hash Join

MySQL8.18版本开始,优化引擎已经开始支持hash join,这个功能添加,可以说是mysql粉丝的重大利好消息。在没有hash join之前,只能使用nested loop,这种模式非常消耗cpu资源,而且当sql语句缺乏索引时,性能简直不能忍受,而hash join就能解决nested loop的痛点。下面来看看nested loop和hash join的应用场景和对比下面就来测试一下测试表准备create table t_test1(id int,name char(20),depno int,primary key(id),key (depno));insert into t_t...

阅读全文>>

0

MySQL数据库

MySQL官方地址: http://www.mysql.com/ MySQL官方下载地址: http://www.mysql.com/downloads/ MySQL 简介点击查看MySQL官方网站MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,后来被Sun公司收购,Sun公司后来又被Oracle公司收购,目前属于Oracle旗下产品。特点使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性支持多种操作系统,如Linux、Windows、AIX、FreeBSD、HP-UX、MacOS、NovellNetware、OpenBSD、OS/2 Wrap、S...

阅读全文>>

0

深入理解SQL原理:一条SQL查询语句是如何执行的?

本篇文章将通过一条 SQL 的执行过程来介绍 MySQL 的基础架构。首先有一个 user_info 表,表里有一个 id 字段,执行下面这条查询语句:select * from user_info where id = 1;返回结果为:+----+----------+----------+--------+------+---------------------+---------------------+| id | username | password | openid | role | create_time | update_time |+----+----------+----...

阅读全文>>

0

常用的SQL语句优化技巧

说到系统性能优化涉及的内容就比较多了,从业务需求到系统架构设计再到实现过程中的中间件、存储层等等的设计,这些都是需要充分规划的。涉及存储层,从数据库选型,数据库设计,索引规划、查询方式,任一环节都可能引入性能风险。本文主要从数据库SQL查询优化的角度优化查询性能,数据库选型是MySQL。SQL查询优化应尽量避免在 WHERE 子句中使用 != 或 <> 操作符,否则将导致引擎放弃使用索引而进行全表扫描。MySQL只有对以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN,以及某些方式的LIKE('a%'),如下。WHERE 子句中使用 LIKE...

阅读全文>>

0

你有一份经典SQL语句大全,请注意查收

一、基础部分1、创建数据库CREATE DATABASE dbname2、删除数据库DROP DATABASE dbname3、创建新表CREATE TABLE tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根据已有的表创建新表: 使用旧表创建新表create table tab_newas select col1,col2…from tab_old4、删除新表DROP TABLE tablename5、增加一个列Alter table tabname add column col type6、添加主键...

阅读全文>>

0

Web端 SQL审核平台——Yearning Mysql

介绍Yearning MYSQL 是一个SQL语句审核平台。提供查询审计,SQL审核等多种功能,支持Mysql,可以在一定程度上解决运维与开发之间的那一环,功能丰富,代码开源,安装部署容易!开源地址https://gitee.com/cookieYe/Yearning功能介绍SQL查询查询导出查询自动补全SQL审核流程化工单SQL语句检测SQL语句执行SQL回滚历史审核记录查询审计推送E-mail工单推送钉钉webhook机器人工单推送其他LDAP登陆用户权限及管理拼图式细粒度权限划分(共12项独立权限,可随意组合)模块介绍Dashboarddashboard主要展示Yearning各项数据包...

阅读全文>>

0

如何写一手好SQL很有必要

前言博主负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长的竟然高达5分钟。导出日志后分析,主要原因竟然是没有命中索引和没有分页处理 。其实这是非常低级的错误,我不禁后背一凉,团队成员的技术水平亟待提高啊。改造这些SQL的过程中,总结了一些经验分享给大家,如果有错误欢迎批评指正。MySQL性能最大数据量抛开数据量和并发数,谈性能都是耍流氓 。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。文件系统单文件大小限制FAT32最大4G NTFS最大64GB NTFS5.0最大2TB EXT2块大小为1024字节,文件最大容量16GB;块大小为4096...

阅读全文>>