MySql

提高mysql千万级数据SQL的查询优化30条总结

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where及orderby涉及的列上建立索引。2.应尽量避免在where子句中对字段进行null值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:selectidfromtwherenumisnull可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:selectidfromtwherenum=03.应尽量避免在where子句中使用!=或<>操作符,否则引擎将放弃使用索引而进行全

系统 2019-08-12 01:55:23 1816

MySql

mysql存储引擎简析

一、常见存储引擎特性Innodb具有提交、回滚和崩溃恢复能力的事务安全、支持外键。使用mvcc以及行锁来提供事务支持,因此支持高并发。适用于写频繁,并发率高的应用。Myisam不支持事务和灾难自动恢复,但其访问速度快,支持全文索引,对事务完整性没有要求。通常用于读频繁的数据库,如数据仓库等。Memory使用存在内存中的内容来创建表,表访问非常得快,因为它的数据是放在内存中的,并且默认使用HASH索引。但是一旦服务关闭,表中的数据就会丢失掉。。适用于临时的,

系统 2019-08-12 01:54:34 1816

MySql

mysql之触发器

触发器创建触发器语法如下:CREATETRIGGERtrigger_nametrigger_timetrigger_eventONtbl_nameFOREACHROWtrigger_stmt其中trigger_name标识触发器名称,用户自行指定;trigger_time标识触发时机,用before和after替换;trigger_event标识触发事件,用insert,update和delete替换;tbl_name标识建立触发器的表名,即在哪张表上建立

系统 2019-08-12 01:54:31 1816

MySql

程序员实用的 MySQL sql 语句

这儿只讲究实用,程序员编程时常用到的MySQL的sql语句(不包括基本的select,update,delete等语句).1.添加一个用户build,并赋予所有权限的命令grantallprivilegeson*.*to'build'@'%'identifiedby'build';2.命令行窗口登录的命令mysql-uusername-ppassword[db_name][db_name]如果指定,则进入具体的数据库,示例:mysql-ubuild-pbu

系统 2019-08-12 01:53:28 1816

MySql

安装MySQL的步骤和方法

Mysql的安装方法安装mysql的步骤如下:请注意按图中所示,有些选项和默认是不一样的。同时,如果您是重新安装mysql的话,要注意先备份好mysql目录中的data目录,这个目录是所有用户的数据目录,非常重要,不可大意。重装时,备份好数据后,先卸载掉旧的mysql,并删除原mysql安装目录。请注意上图中选择Custom选项,这样才能修改安装目录。请注意为了数据安全,不要把mysql安装在系统盘,如C:盘。请注意上图中的设置,把mysql的同时连接数改

系统 2019-08-12 01:52:06 1816

MySql

查看mysql状态常用命令

最近服务器上mysql有些奇奇怪怪的问题,可惜我不是专业的dba,为了加深自己对mysql的了解,先从基础的查看mysql状态命令看起吧.命令:showstatus;命令:showstatuslike'%下面变量%';Aborted_clients由于客户没有正确关闭连接已经死掉,已经放弃的连接数量.Aborted_connects尝试已经失败的MySQL服务器的连接的次数.Connections试图连接MySQL服务器的次数.Created_tmp_ta

系统 2019-08-12 01:33:57 1816

MySql

» 用HSCALE实现MySQL的数据分布式存储 江边潮未

»用HSCALE实现MySQL的数据分布式存储江边潮未尽,枫红一季秋--NinGoo'sblog针对单个表过大造成的性能问题,MySQL在5.1开始引入了分区表(partition),可以将数据在内部拆分存储,对应用透明,但是分区表只能将表在同一个数据库内部分解,而且对于表的维护(比如执行altertable)还是比较麻烦。手工分表也是一个解决方法,手工分表还有一个好处是可以将表分布到不同的服务器中,实现分布式存储。但是手工分表要求应用程序做相应的改写,以

系统 2019-08-12 01:33:23 1816

MySql

【原】MySQL建立索引

索引是一种特殊的数据结构,可以用来快速查询数据库的特定记录,建立是一中提高数据库性能的重要方式。内容:索引的意义,索引的设计,创建和删除索引简介索引是建立在表上的,有一列或者多列组成,并对这一列或者多列进行排序的一种结构。所有存储引擎对每个表至少支持16个索引,总索引长度至少为256字节,索引有两种存储类型,包括B型树索引和哈希索引。索引的优点是可以提高检索的速度,但是创建和维护索引需要耗费时间,这个时间随着数据量的增加而增加。索引可以提高查询的速度,但是

系统 2019-08-12 01:33:07 1816

MySql

Mysql忘记密码后的终级办法

windows]1、停止mysql服务:打开命令行窗口CMD,Netstopmysql2、用另外一种方式启动Mysql:在命令行进入到mysql的安装路径下的bin目录下使用mysqld-nt.exe启动:mysqld-nt--skip-grant-tables注意:此时CMD窗口不能关闭。3、进入Mysql:另外打开一个命入令行窗口,在bin目录下执行mysql,此时无需输入密码即可进入。>usemysql>updateusersetpassword=p

系统 2019-08-12 01:55:36 1815

MySql

mysql 多个字段拼接

Mysql的查询结果行字段拼接,能够用以下两个函数实现:1.concat函数mysql>selectconcat('1','2','3')fromtest;+---------------------+|concat('1','2','3')|+---------------------+|123|+---------------------+假设连接串中存在NULL,则返回结果为NULL:mysql>selectconcat('1','2',NULL,'

系统 2019-08-12 01:54:46 1815

MySql

mysql 连接url中useUnicode=true&characterEnco

我们在连接mysql数据库的时候一般都会在url后面添加useUnicode=true&characterEncoding=UTF-8,但是问什么要添加呢?添加的作用是:指定字符的编码、解码格式。例如:mysql数据库用的是gbk编码,而项目数据库用的是utf-8编码。这时候如果添加了useUnicode=true&characterEncoding=UTF-8,那么作用有如下两个方面:1.存数据时:数据库在存放项目数据的时候会先用UTF-8格式将数据解码

系统 2019-08-12 01:53:47 1815

MySql

mysql 套事物实例

publicstaticDataSetGetPPriceList(stringaircompany,stringdepartPort,stringarrivePort,stringcabin,Booleanflag=false){stringsql="SELECTID,AirCompany,DepartCode,ArriveCode,ServerGrade,Cabin,Price,Agio,SaleBeginTime,SaleEndTime,TravelB

系统 2019-08-12 01:53:42 1815

MySql

MYSQL:Cannot convert value '0000-00-00 00:0

今天从MYSQL数据库抓取时,发生了Cannotconvertvalue'0000-00-0000:00:00'fromcolumn10toTIMESTAMP异常google了一下,大概意思是MySQL中的Datetime值无法再JAVA中可靠的被表示,按照JDBC和SQL的标准默认情况下产生异常。JDBC允许用下列的值对zeroDateTimeBehavior属性来设置这些处理方式,exception(thedefault),whichthrowsanS

系统 2019-08-12 01:53:03 1815

MySql

如何选择合适的MySQL存储引擎

MySQL有多种存储引擎:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。MySQL支持数个存储引擎作为对不同表的类型的处理器。MySQL存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎:◆MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力。MyISAM在所有MySQL配置里被支持,它是默认的存储引擎,除非

系统 2019-08-12 01:52:53 1815

MySql

Mysql 目录恢复注意事项

SET@mycnt=0;SELECT@mycnt:=@mycnt+1asmycnt,a.*,b.*FROMa,b;表中第一列即为mycnt,从1开始计数。set@num=0;selectconcat('updateapl_maps_bizsetgkid=\'',gkid,'\'whereid=',@num:=@num+1,';')fromca_map_buzman;1、cppath/mysql/data/yourdatabasepath/mysql/dat

系统 2019-08-12 01:52:44 1815