Welcome 微信登录

首页 / 数据库 / MySQL

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个改进项,因为原来的模式的确会影响系统的...
MySQL中无GROUP BY情况下直接使用HAVING语句的问题探究

MySQL中无GROUP BY情况下直接使用HAVING语句的问题探究

今天有同学给我反应,有一张表,id是主键,这样的写法可以返回一条记录:“SELECT * FROM t HAVING id=MIN(id);” 但是只是把MIN换成MAX,这样返回就是空了:“SELECT * FROM t HAVING id=MAX(id);” 这是为什么呢? 我们先来做个试验,验证这种情况。 这是表结构,初始化两条记录,然后试验:root@localhost : plx 10:25:10> show create table t2...
MySQL中删除重复数据的简单方法

MySQL中删除重复数据的简单方法

MYSQL里有五百万数据,但大多是重复的,真实的就180万,于是想怎样把这些重复的数据搞出来,在网上找了一圈,好多是用NOT IN这样的代码,这样效率很低,自己琢磨组合了一下,找到一个高效的处理方式,用这个方式,五百万数据,十来分钟就全部去除重复了,请各位参考。第一步:从500万数据表data_content_152里提取出不重复的字段SFZHM对应的ID字段到TMP3表create table tmp3 as select min(id) as col1...
在MySQL中实现二分查找的详细教程

在MySQL中实现二分查找的详细教程

给定一个升序排列的自然数数组,数组中包含重复数字,例如:[1,2,2,3,4,4,4,5,6,7,7]。问题:给定任意自然数,对数组进行二分查找,返回数组正确的位置,给出函数实现。注:连续相同的数字,返回第一个匹配位置还是最后一个匹配位置,由函数传入参数决定。我为什么会出这道题目? 二分查找在数据库内核实现中非常重要 在数据库的内核实现中,二分查找是一个非常重要的逻辑,几乎99%以上的SQL语句(所有索引上的范围扫描/等值查询/Unique查询等),都会使...
<< 121 122 123 124 125 126 127 128 129 130 >>