mysql创建数据库

2.索引优化分析

試著忘記壹切 提交于 2020-02-02 15:59:08
性能下降SQL慢 、执行时间长 、 等待时间长 常见原因: 1.查询语句写的烂 2.索引失效 #id name email weixinNumber select *from user where name=""; select *from user where name="" and email=""; create index idx_user_name on user(name);#单值 create index idx_user_nameEmail on user(name,email);#复合 2.关联查询太多join(设计缺陷或不得已的需求) 3.服务器调优及各个参数设置(缓冲\线程数等) sql 执行顺序 #手写sql的顺序 7 select 8 distinct <select_list> 1 from <left_table> 3 <join_type> join <right_table> 2 on <join_condition> 4 where <where_condition> 5 group by <groupby_list> 6 having <having_condition> 9 order by <orderby_conditoin> 10 limit <limit number>; #机读 1. FROM <left_table> 2. ON

Mysql5.5源码安装步骤笔记记录

那年仲夏 提交于 2020-02-02 14:41:21
1.cmake软件的安装 wget https://cmake.org/files/v3.5/cmake-3.5.0-rc3.tar.gz tar xf cmake-3.5.0.tar.gz cd cmake-3.5.0 ./configure gmake gmake install 2.依赖包 ncurses-devel,boost,bison yum -y install gcc gcc-c++ ncurses ncurses-devel cmake bison bison-devel autoconf automake zlib* libxml* libmcrypt* libtool* yum install ncurses-devel #apt-get install libncurses5-dev yum install boost.x86_64 -y rm -rf CMakeCache.txt yum install -y zlib.x86_64 yum install -y cmake.x86_64 boost : http://www.boost.org/users/download/ tar zxf boost_1_59_0.tar.gz 在后面编译的时候:-DWITH_BOOST 指向这个解压的目录地址中就可以了,也可以下载带有bison版本的mysql源码

MySQL 使用B+树

半腔热情 提交于 2020-02-02 13:31:25
概述 首先需要澄清的一点是,MySQL 跟 B+ 树没有直接的关系,真正与 B+ 树有关系的是 MySQL 的默认存储引擎 InnoDB,MySQL 中存储引擎的主要作用是负责数据的存储和提取,除了 InnoDB 之外,MySQL 中也支持 MyISAM 作为表的底层存储引擎。 我们在使用 SQL 语句创建表时就可以为当前表指定使用的存储引擎,你能在 MySQL 的文档 Alternative Storage Engines 中找到它支持的全部存储引擎,例如: MyISAM 、 CSV 、 MEMORY 等,然而默认情况下,使用如下所示的 SQL 语句来创建表就会得到 InnoDB 存储引擎支撑的表: CREATE TABLE t1 ( a INT, b CHAR (20), PRIMARY KEY (a)) ENGINE=InnoDB; 想要详细了解 MySQL 默认存储引擎的读者,可以通过之前的文章 『浅入浅出』MySQL 和 InnoDB 了解包括 InnoDB 存储方式、索引和锁等内容,我们在这里主要不会介绍 InnoDB 相关的过多内容。 我们今天最终将要分析的问题其实还是,为什么 MySQL 默认的存储引擎 InnoDB 会使用 MySQL 来存储数据,相信对 MySQL 稍微有些了解的人都知道,无论是表中的数据(主键索引)还是辅助索引最终都会使用 B+ 树来存储数据

Linux下mysql编译安装

╄→гoц情女王★ 提交于 2020-02-02 12:08:16
一.下载安装包 因为编译安装mysql需要cmake所以先编译安装cmake,这里都一起下载下来 下载cmake,网址 https://cmake.org/download/ 下载mysql,网址 http://dev.mysql.com/downloads/mysql/ 这里要登录一下oracle用户名密码 二.编译安装cmake 解压cmake,比如tar -zxvf cmake-3.5.0.tar.gz ,进入主目录cd cmake-3.5.0 这里可以看到里面一些目录和文件,这里可以用bootstrap来安装也可以用congfigure来安装,这里我们用./bootstrap 来安装,因为./configure是不添加环境变量的 这时候我们发现少了C++的依赖 安装编译所有的依赖 yum -y install gcc gcc-c++ ncurses-devel perl 再执行./bootstrap检测编译环境,没有任何异常以后执行编译gmake && gmake install 三.cmake编译安装mysql 1.编译安装 首先先解压mysql 例如命令tar -zxvf mysql-5.6.29.tar.gz 进入主目录cd mysql-5.6.29/ 执行编译命令 cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

MySQL数据库索引——(八)

半世苍凉 提交于 2020-02-02 11:22:30
MySQL数据库索引——(八) 9.1数据库索引 MySQL官方对索引定义为: 索引(index)是帮助MySQL高效获取数据的数据结构 ,提取句子主干,就可以得到索引的本质:索引是数据结构。 9.2索引的分类 主键索引 (Primary Key) 唯一索引 (Unique) 常规索引 (KEY/Index) 全文索引 (FullText) I.主键索引 (Primary Key) 作用:一张表中能唯一标识一条记录的一个列 特点: 唯一的标识,不可重复,只能有一个列作为主键 能够确保数据记录的唯一性 能记录数据在数据库中的位置 ii.唯一索引 (Unique) 作用:避免同一张表重复的列出现,唯一索引可以重复,多个列都可以有标识位(唯一索引) iii.常规索引 (KEY/Index) 作用:快速定位需要拿到的数据(默认的) IV.全文索引 (FullText) 作用:快速定位数据 注意:在特定的数据库引擎下才有,例如MySAM类型的数据表,且只能用于CHAR , VARCHAR , TEXT数据列类型,适用于大型数据集 9.4索引的使用 ! [ explain2 ] ( F:\图片库\explain2 . PNG ) ! [ explain2 ] ( F:\图片库\explain2 . PNG ) -- 索引的使用 -- 1.在创建表的时候给字段增加suoyin CREATE

腾讯云服务器centos7.6安装web环境

落花浮王杯 提交于 2020-02-02 10:56:16
安装环境:腾讯云服务器公共镜像centos7.6,xshell6,xftp6。 1 安装java环境 1.1下载JDK jdk官网下载地址 下载如图格式的jdk RPM格式 1.2 上传安装包至Linux mkdir /usr/local/software 打开xftp,将刚刚下载的安装包上传至software目录 1.3 安装jdk rpm -ivh /usr/local/software/jdk-13.0.2_linux-x64_bin.rpm 可以使用java -version测试安装是否成功 使用rpm安装可以不用配置环境变量,因为在/usr/bin 已经自动生成的java,javac一系列的链接。 2 安装Tomcat 2.1 下载Tomcat Tomcat9官网下载地址 下载如图格式 2.2 解压Tomcat 开始使用进行解压 tar -zxvf apache-tomcat-9.0.30.tar.gz /usr/tomcat/ 结果出现 tar: /usr/tomcat: Not found in archive tar: Exiting with failure status due to previous errors 的错误 真正答案 tar -zxvf apache-tomcat-9.0.30.tar.gz -C /usr/tomcat/

mysql_关系型数据库

佐手、 提交于 2020-02-02 09:57:41
01数据库简介 • 为什么需要数据库? 1、数据量越来越大,对于数据的记录和准确查找, 2、数据库系统解决的问题:持久化存储,优化读写,保证数据的有效性。 • 关系型数据库与非关系型数据库 数据库的分类: 1、关系型数据库 指采用了关系模型来组织数据的数据库。关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。主流的关系型数据库有:Oracle、Microsoft SQL Server、MySQL、PostgreSQL,SQLite、MariaDB(MySQL的一个分支)Microsoft Access、SAP。 2、非关系型数据库 指非关系型的,分布式的,以键值对存储且结构不固定,可以减少一些时间和空间的开销。非关系型数据库都是针对某些特定的应用需求,主要分为以下几类: 1). 面向海量数据访问的面向文档数据库:MongoDB、Amazon、DynamoDB、Couchbase等。 2). 面向高性能并发读写的key-value数据库: Redis、 Memcached等。 3). 面向搜索数据内容的搜索引擎:Elasticsearch,Splunk,Solr,MarkLogic和Sphinx等。 4). 面向可扩展性的分布式数据库:Cassandra,HBase等。 02 关系型数据库 1、E—R模型 当前物理的数据库都是按照E

MySQL 高可用之主从复制

情到浓时终转凉″ 提交于 2020-02-02 05:11:44
MySQL主从复制简介 Mysql的 主从复制 方案,都是 数据传输 的,只不过MySQL无需借助第三方工具,而是自带的同步 复制功能 ,MySQL的 主从复制 并不是磁盘上文件直接同步,而是将 binlog 日志发送给从库,由从库将 binlog 文件里的内容写入本地数据库。 在生产环境中,MySQL主从复制都是异步方式同步,即不是实时同步数据。 MySQL主从复制原理 1.主从复制中的线程及文件 主库线程: Dump(IO) thread(也成为 IO 线程):在复制过程中,主库发送二进制日志的线程 从库线程: IO thread:向主库请求binlog日志,并且接受binlog日志的线程 SQL thread:专门用于请求binlog日志的线程,将其内容写入数据库 主库的文件: binlog文件:主库的binlog日志 从库的文件: relaylog:中继日志,存储请求过来的binlog日志 master.info: 从库连接主库的重要参数(user,password,ip,port) 记录最后一次获取过主库的binlog日志的位置点 relay-log.info 存储从库SQL线程已经执行过的relaylog日志位置点 Mysql主从复制图解: 从库 读取 master.info 文件中的信息(连接参数,最后一次请求binlog的位置点),向 主库 请求binlog文件,

MySQL数据库详解(一)

穿精又带淫゛_ 提交于 2020-02-02 04:48:58
概述 1.什么是数据库(DataBase) 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。 2.什么是数据库管理系统 (Database Management SystemDBMS) 一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。 3.数据库的分类 4.数据库与数据库管理系统的关系 MySQL数据库 1.MySQL的安装 1.下载后得到zip压缩包. 2.解压到自己想要安装到的目录,本人解压到的是D:\Environment\mysql-5.7.19 3.添加环境变量 我的电脑->属性->高级->环境变量 选择PATH,在其后面添加: 你的mysql 安装文件下面的bin文件夹 4.在D:\Environment\mysql-5.7.19下新建 my.ini 文件 5.编辑 my.ini 文件 ,注意替换路径位置 1 [mysqld] 2 basedir=D:\Program Files\mysql-5.7\ 3 datadir=D:\Program Files\mysql-5.7\data\ 4 port=3306 5 skip-grant-tables 6

python操作mysql数据库

只谈情不闲聊 提交于 2020-02-02 04:23:49
http://www.runoob.com/python/python-mysql.html Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。 Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: GadFly mSQL MySQL PostgreSQL Microsoft SQL Server 2000 Informix Interbase Oracle Sybase 你可以访问 Python数据库接口及API 查看详细的支持数据库列表。 不同的数据库你需要下载不同的DB API模块,例如你需要访问Oracle数据库和Mysql数据,你需要下载Oracle和MySQL数据库模块。 DB-API 是一个规范. 它定义了一系列必须的对象和数据库存取方式, 以便为各种各样的底层数据库系统和多种多样的数据库接口程序提供一致的访问接口 。 Python的DB-API,为大多数的数据库实现了接口,使用它连接各数据库后,就可以用相同的方式操作各数据库。 Python DB-API使用流程: 引入 API 模块。 获取与数据库的连接。 执行SQL语句和存储过程。 关闭数据库连接。 什么是MySQLdb? MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库