那一个主题材料都不粗大相比较杂,INNE昂Cora J

2019-08-23 作者:数据库   |   浏览(155)

一. 使用sql提示

         sql 提示(sql hint)是优化数据库的一个重要手段, 是在sql语句中加入一些人为的提示来达到优化操作的目的。

  1.1 use index
    在查询语句中表名的后面,添加use index 强制mysql使用该索引,不考虑其它索引。

EXPLAIN SELECT * FROM city USE INDEX(ix1) WHERE city_id=1;

  1.2 ignore index
    在查询语句中表名的后面,添加ignore index,使用mysql忽视一个或者多个索引。

EXPLAIN SELECT * FROM city IGNORE INDEX(ix1) WHERE  city_id=14;

  1.3 force index
    在查询语句中表名的后面,添加force index,当mysql不走索引时,强制走索引。

-- 某些情况下,有索引但mysql不走索引,强制使用
EXPLAIN SELECT * FROM city FORCE INDEX (PRIMARY) WHERE  city_id>0;

最近公司要从SqlServer转到MySql,期间在安装环境和数据迁移的过程中,遇到了一些不大不小问题,比如怎么重置密码、怎么设置大小写敏感等等。

 

inner join(等值连接)只返回两个表中联结字段相等的行

二 .优化数据库对象

  1. 优化表的数据类型
    在mysql中,可以使用函数procedure analyse()对当前应用的表进行分析。对表列中的数据类型给出合理的改进建议,用户可以根据实际情况来考虑。
  例如:下面生产库中有一个菜单表,字段类型及长度如下:

小鱼儿玄机30码姐妹 1

 -- 使用procedure analyse()分析
SELECT * FROM Adm_Menu PROCEDURE ANALYSE(16,256);

    下面remark 字段里面值的最大长度的是30长度, 所以系统建议给出30长度:

小鱼儿玄机30码姐妹 2

  2. 通过折分提高表的访问效率
    折分可以是垂直拆分和水平拆分,这是一种设计思路,这篇不讲。

  3. 逆规范化
    逆规范化也叫提高表的冗余,有利于提高查询性能。这是一种设计思路,这篇不讲。

  4. 使用中间表提高统计查询速度
    比如有一个大表记录了客户的每天消费记录,需要按月统计总消费金额, 可以放入到中间表,减轻大表的频繁查询. 这是一种设计思路,这篇不讲。

小鱼儿玄机30码姐妹, 

这些问题都比较细比较杂,这边解决完可能过几天就忘了,所以专门开了一个专题,就当给自己作为备忘记录吧。

Preface

left join(左联接)返回包括左表中的所有记录和右表中联结字段相等的记录

BTW,我的操作系统是Win,MySql版本是8.0.11~

 

right join(右联接)返回包括右表中的所有记录和左表中联结字段相等的记录

 

    There always be some table join operations in our SQL statement.Although we can know details of table join information from explain opertion by json format.Whatif you are not using MySQL 5.7?Is there a tool which can tell us how the tables are used in join operations?

INNER JOIN语法:

系列目录

    

INNER JOIN连接两个数据表的用法:

一、安装MySql

Introduce

SELECT * FROM 表1 INNER JOIN 表2 ON表1.字段号=表2.字段号

二、安装并破解Navicat

 

INNER JOIN连接三个数据表的用法:

三、设置MySql的大小写敏感

    pt-table-usage is simply used to anaylyze how the queries use tables.It can indicate the data flow by the contexts in which table appear.We can either get these information from query statement directly(using "--query" option) or from a log file(It should be slow log format) insetead.

SELECT * FROM (表1 INNER JOIN 表2 ON表1.字段号=表2.字段号) INNER JOIN 表3 ON表1.字段号=表3.字段号

四、重置MySql登陆密码

 

INNER JOIN连接四个数据表的用法:


Procedure

SELECT * FROM ((表1 INNER JOIN 表2 ON表1.字段号=表2.字段号) INNER JOIN 表3 ON表1.字段号=表3.字段号) INNER JOIN

 

 

表4 ON Member.字段号=表4.字段号

  1. 下载

MySql官方下载地址:

这里有两种安装方式可以选择:1)下载MSI运行安装;2)下载ZIP解压安装。

区别是选择MSI会有一个类似普通软件安装的引导程序(一直点击“下一步”安装就行),而ZIP本身就是一个完整的程序,解压之后就可以使用MySql了。

我这里选择下载的是ZIP。

小鱼儿玄机30码姐妹 3

 

下载完之后,解压。解压好的文件就是MySql程序了,所以我们需要给这个文件重新取一个简单明了的名字,并把它放到你习惯放置秩程序的位置。

如下图,我把它放到了D盘根目录下面(文件名我改成"MySql"了):

小鱼儿玄机30码姐妹 4

 

Usage

INNER JOIN连接五个数据表的用法:

  2. 配置环境变量

这里我个人习惯是不配置环境变量的。

不配置的坏处是,每次cmd运行命令的时候,都需要先cd(切换文件目录)到MySql程序的bin文件夹下面,才可以运行mysql命令。

如果配置了环境变量之后,那么打开cmd不需要切换到程序目录就可以直接运行mysql命令。

但是就我个人经历来说,身边太多人自从装了一个软件一个软件之后,就再也找不到它的安装位置。。。

身为一个程序员能清楚的知道自己开发工具的位置还是很重要的,所以这里就不配置了,每次cmd的时候cd一下,也费不了多少事~

 

1 pt-table-usage [OPTIONS] [FILES]

SELECT * FROM (((表1 INNER JOIN 表2 ON表1.字段号=表2.字段号) INNER JOIN 表3 ON表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号) INNER JOIN 表5 ON Member.字段号=表5.字段号

本文由小鱼儿玄机30码发布于数据库,转载请注明出处:那一个主题材料都不粗大相比较杂,INNE昂Cora J

关键词: 小鱼儿玄机30码

  • 上一篇:没有了
  • 下一篇:没有了