Welcome 微信登录

首页 / 数据库 / MySQL

简单介绍MySQL中索引的使用方法

简单介绍MySQL中索引的使用方法

数据库索引是一个数据结构,提高操作的速度,在一个表中可以使用一个或多个列,提供两个快速随机查找和高效的顺序访问记录的基础创建索引。在创建索引时,它应该被认为是将SQL查询的那些列上创建一个或多个索引的列。实际上,指数也保持主键或索引字段和指针的实际表中每条记录的表型。用户无法看到索引,它们只是用来加快查询速度,将用于数据库搜索引擎找到的记录速度非常快。INSERT和UPDATE语句表上的索引需要更多的时间,成为快速对这些表的SELECT语句。究其原因是,当...
MySQL中关于临时表的一些基本使用方法

MySQL中关于临时表的一些基本使用方法

临时表可能是非常有用的,在某些情况下,保持临时数据。最重要的是应该知道的临时表是,他们将当前的客户端会话终止时被删除。临时表中添加MySQL版本3.23。如果您使用的是旧版本的MySQL比3.23,可以不使用临时表,但可以使用堆表。如前所述临时表将只持续只要的会话是存在的。如果运行一个PHP脚本中的代码,该临时表将被销毁时,会自动执行完脚本后。如果已连接到MySQL数据库的服务器上,通过MySQL的客户端程序的临时表将一直存在,直到关闭客户端或手动破坏的表...
在MySQL中操作克隆表的教程

在MySQL中操作克隆表的教程

可能有一种情况,当需要一个完全相同的副本表CREATE TABLE ... SELECT不适合需要,因为副本必须包含相同的索引,默认值,依此类推。按下面的步骤,可以处理这种情况。 使用SHOW CREATE TABLE得到一个CREATE TABLE语句中指定源表的结构,索引等。 修改语句更改表名称的克隆表,并执行该语句。通过这种方式将有确切的克隆表。 或者,如果需要进行表的内容复制,使用INSERT INTO ... SELECT语句也可以搞定。实例:试...
调用MySQL中数据库元数据的方法

调用MySQL中数据库元数据的方法

MySQL的三个信息: 查询的结果有关的信息: 这包括由任何SELECT,UPDATE或DELETE语句产生数量的记录。 表和数据库有关的信息: 这包括表和数据库的结构有关的信息。 MySQL服务器的信息: 这包括当前状态的数据库服务器,版本号等。在mysql提示符下很容易获得所有这些信息。但是,当使用Perl或PHP的API,那么我们就需要显式地调用各种API获得所有这些信息。下面的部分将告诉你如何获得这些信息。获取查询所影响的行数:PERL 实例:在D...
在MySQL中使用序列的简单教程

在MySQL中使用序列的简单教程

序列是一组整数1,2,3,...中生成的顺序。序列中经常使用的数据库,因为很多应用都需要一个表中的每一行包含一个独特的值和序列提供了一个简单的方法来产生。本章介绍如何使用MySQL中的序列。使用自动递增列:在MySQL中使用序列最简单的方法是定义一个AUTO_INCREMENT列,剩下的事情留给MySQL处理。实例:试试下面的例子。这将创建表之后,它会在此表中它不是必需的记录ID插入几行,因为它由MySQL自动递增。mysql> CREATE TAB...
MySQL中处理各种重复的一些方法

MySQL中处理各种重复的一些方法

有时表或结果集包含重复的记录。有时它是允许的,但有时它需要停止重复的记录。有时它需要识别重复的记录从表中删除。本章将介绍如何防止发生在一个表中重复的记录如何删除已经存在的重复记录。防止重复表中的发生:可以使用PRIMARY KEY或UNIQUE索引的表上相应的字段来防止重复的记录。让我们举一个例子,下面的表中不包含这样的索引或主键,所以它会允许记录first_name和last_name重复CREATE TABLE person_tbl(first_nam...
浅析MySQL的注入安全问题

浅析MySQL的注入安全问题

如果把用户输入到一个网页,将其插入到MySQL数据库,有机会离开了发生安全问题被称为SQL注入敞开。这一课将教如何帮助防止这种情况的发生,并帮助保护脚本和MySQL语句。注入通常发生在处理一个用户输入,如他们的名字,而不是一个名字,他们给一个会在不知不觉中你的数据库上运行的MySQL语句。永远不要信任用户提供的数据,只能验证后处理这些数据,作为一项规则,这是通过模式匹配。在下面的例子中,用户名被限制为字母数字字符加下划线的长度在8到20个字符之间 - 根据...
用SELECT... INTO OUTFILE语句导出MySQL数据的教程

用SELECT... INTO OUTFILE语句导出MySQL数据的教程

表数据导出到一个文本文件最简单的方法是使用SELECT... INTO OUTFILE语句的查询结果直接导出到一个文件在服务器主机上。导出数据的SELECT...INTO OUTFILE声明:这句话的语法结合了常规的SELECT INTO OUTFILE文件名的末尾。默认的输出格式是相同的LOAD DATA,所以下面的语句导出tutorials_tbl的表制表符分隔的,换行结尾的文件到/tmp/tutorials.txt:mysql> SELECT ...
MySQL中数据导入恢复的简单教程

MySQL中数据导入恢复的简单教程

有两个简单的方法MySQL中的数据加载到MySQL数据库从先前备份的文件。LOAD DATA导入数据:MySQL提供了LOAD DATA语句,作为一个大容量数据加载。下面是一个例子声明中,读取一个文件dump.txt,,从当前目录加载到当前数据库中的表mytbl:mysql> LOAD DATA LOCAL INFILE "dump.txt" INTO TABLE mytbl; 如果本地的关键字是不存在的,MySQL的外观使用绝对路径名寻找到完全指定...
MySQL Sleep连接过多问题解决方法

MySQL Sleep连接过多问题解决方法

有时候你在mysql中运行SHOW PROCESSLIST;后会发现数据库中有很多这样的进程:那么造成sleep的原因,有三个,下面是mysql手册给出的解释:1.客户端程序在退出之前没有调用mysql_close().[写程序的疏忽,或者数据库的db类库没有自动关闭每次的连接。。。]2.客户端sleep的时间在wait_timeout或interactive_timeout规定的秒内没有发出任何请求到服务器. [类似常连,类似于不完整的tcp ip协议构...
MySQL replace into 语句浅析(一)

MySQL replace into 语句浅析(一)

一 介绍 在笔者支持业务过程中,经常遇到开发咨询replace into 的使用场景以及注意事项,这里做个总结。从功能原理,性能和注意事项上做个说明。二 原理2.1 当表中存在主键但是不存在唯一建的时候。表结构复制代码 代码如下:CREATE TABLE `yy` ( `id` bigint(20) NOT NULL, `name` varchar(20) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DE...
MySQL order by性能优化方法实例

MySQL order by性能优化方法实例

前言工作过程中,各种业务需求在访问数据库的时候要求有order by排序。有时候不必要的或者不合理的排序操作很可能导致数据库系统崩溃。如何处理好order by排序呢?本文从原理以及优化层面介绍 order by 。一 MySQL中order by的原理 1 利用索引的有序性获取有序数据 当查询语句的 order BY 条件和查询的执行计划中所利用的 Index 的索引键(或前面几个索引键)完全一致,且索引访问方式为 rang,ref 或者 index 的...
MySQL Index Condition Pushdown(ICP)性能优化方法实例

MySQL Index Condition Pushdown(ICP)性能优化方法实例

一 概念介绍Index Condition Pushdown (ICP)是MySQL 5.6 版本中的新特性,是一种在存储引擎层使用索引过滤数据的一种优化方式。a 当关闭ICP时,index 仅仅是data access 的一种访问方式,存储引擎通过索引回表获取的数据会传递到MySQL Server 层进行where条件过滤。b 当打开ICP时,如果部分where条件能使用索引中的字段,MySQL Server 会把这部分下推到引擎层,可以利用index过...
MySQL 5.7增强版Semisync Replication性能优化

MySQL 5.7增强版Semisync Replication性能优化

一 前言前文 介绍了5.5/5.6 版本的MySQL semi sync 基础原理和配置,随着MySQL 5.7 的发布,新版本的MySQL修复了semi sync 的一些bug 并且增强了功能。支持发送binlog和接受ack的异步化;支持在事务commit前等待ACK;在server层判断备库是否要求半同步以减少Plugin锁冲突;解除binlog dump线程和lock_log的冲突等等。本文重点分析 第1,2个改进项,因为原来的模式的确会影响系统的...
<< 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 >>