
MYSQL
墨子哲
感兴趣方向WEB架构,大数据,人工智能
展开
-
MYSQL优化技巧
建表时 字段长度合理控制尽量不用使用select * 选则需要字段使用join代替子查询建立索引原创 2012-03-27 14:44:19 · 695 阅读 · 0 评论 -
Mysql索引优化
1,创建索引对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引起致命的性能下降。但是也不是什么情况都非得建索引不可,比如性别可能就只有两个值,建索引不仅没什么优势,还会影响到原创 2013-03-13 18:14:55 · 702 阅读 · 0 评论 -
研究 mysql 全文索引
全文索引在 MySQL 中是一个 FULLTEXT 类型索引。FULLTEXT 索引用于 MyISAM 表,可以在 CREATE TABLE 时或之后使用 ALTER TABLE 或 CREATE INDEX 在 CHAR、VARCHAR 或 TEXT 列上创建。对于大的数据库,将数据装载到一个没有 FULLTEXT 索引的表中,然后再使用 ALTER TABLE (或 CREATE INDEX)转载 2013-03-13 18:14:11 · 760 阅读 · 0 评论 -
MYSQL处理百万级以上的数据提高查询速度的方法
1、应尽量避免在 where 子句中使用!=或2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没原创 2013-03-15 10:10:50 · 1184 阅读 · 0 评论 -
mysql UNION 和 UNION ALL
主要区别:UNION 在合并查出的多个结果集的时候会去重,UNION ALL只是单纯的合并多个结果集 现有一个数据表count 字段:id,cnt 记录包含id= {1,2,3,4} ;cnt={2,8,9,33} union: selectid ,cnt from test.count where id>=2union select原创 2013-03-19 13:12:01 · 1040 阅读 · 0 评论 -
mysql 性能优化概述
1,硬件优化 a>内存——大内存、大内存位宽,尽量不要用SWAP; b>硬盘——15000RPM、RAID5、raid10 c>CPU——64位、高主频、高缓存,高并行处理能力 d>网络——标配的千兆网卡足矣,尽可能在同一局域网内,尽量避免诸如防火墙策略等不必要的开销 2,架构上的优化 a>原创 2013-03-19 13:17:52 · 717 阅读 · 0 评论 -
标准SQL语句
标准SQL语句SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 1、创建数据库:CREATE DATABASE database-name2、删除数据库:drop原创 2013-03-19 13:22:40 · 819 阅读 · 0 评论 -
SELECT查询总结
SELECT查询总结:1、WHERE子句不能用聚集函数作为条件表达式。而HAVING子句可以。。WHERE子句作用于基本表或视图,HAVING子句作用于组,选择满足条件的组。2、使用GROUP BY子句进行分组时,聚集函数作用对象为每个组,当SELECT映射中有聚集函数同时又有列名,则一定有GROUP BY子句,并且GROUP BY后的字段名和SELECT后的字段名相同。3原创 2013-03-19 13:23:16 · 1335 阅读 · 0 评论 -
MySQL的表分区
一、什么是表分区通俗地讲表分区是将一大表,根据条件分割成若干个小表。mysql5.1开始支持数据表分区了。如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区。当然也可根据其他的条件分区。 二、为什么要对表进行分区为了改善大型表以及具有各种访问模式的表的可伸缩性,可管理性和提高数据库效率。分区的一些优点包括:原创 2013-04-03 18:18:35 · 767 阅读 · 0 评论 -
mysql_num_rows VS COUNT 效率问题分析
mysql_num_rows 和 count( * ) 都能统计总数,那个能好一点呢? 或者 分别什么时候用num_rows 和 count( * )呢 一个直观的对比 测试数据: 条数:139764条 数据表大小:500M 结果: fetch_num_rows 用时:35.272329092026 count(*) 用时:0.0719568729400原创 2013-08-19 15:08:16 · 1701 阅读 · 0 评论 -
group by 和count的联合使用问题
今天写查询语句遇到一个问题,就是用group by进行分组以后,用count统计分组以后的个数,开始写的语句大体是:select count(m.fbrandid) from table as m group by m.fbrandid, month(fdate);数据库中的数据为: +---------原创 2014-01-22 18:37:51 · 1652 阅读 · 0 评论 -
SQL子查询什么时候用
SQL子查询什么时候用原创 2014-01-22 18:39:27 · 3485 阅读 · 1 评论 -
mysql中文全文索引
MySQL在高并发连接、数据库记录数较多的情况下,SELECT ... WHERE ... LIKE'%...%'的全文搜索方式不仅效率差,而且以通配符%和_开头作查询时,使用不到索引,需要全表扫描,对数据库的压力也很大。MySQL针对这一问题提供了一种全文索引解决方案,这不仅仅提高了性能和效率(因为MySQL对这些字段做了索引来优化搜索),而且实现了更高质量的搜索。但是,至今为止,MySQL对中原创 2013-03-13 18:12:13 · 923 阅读 · 0 评论 -
Mysql MATCH() AGAINST() (MATCH+AGAINST)
MySQL 全文搜索 到 3.23.23 时,MySQL 开始支持全文索引和搜索。全文索引在 MySQL 中是一个 FULLTEXT 类型索引。FULLTEXT 索引用于 MyISAM 表,可以在 CREATE TABLE 时或之后使用 ALTER TABLE 或 CREATE INDEX 在 CHAR、VARCHAR 或 TEXT 列上创建。对于大的数据库,将数据装载到一个没有 FULLTE原创 2013-03-13 18:10:38 · 4728 阅读 · 0 评论 -
MYSQL学习之多表关联update
今天修改数据,要用到多表关联的update,平时基本很少用,一时间不知道怎么写,百度搜索到这篇例文。现公布于下:为了方便起见,建立了以下简单模型,和构造了部分测试数据:在某个业务受理子系统BSS中,--客户资料表create table customers(customer_id number(8) not null, -- 客户标示city_name varchar2原创 2012-06-14 10:54:31 · 21697 阅读 · 0 评论 -
MYSQL配置之开启mysql远程连接
mysql远程连接默认是关闭的1.打开MYSQL配置文件sudo vim /etc/mysql/my. cnf2.找到#bind-address = 127.0.0.1#bind-address = 127.0.0.1将127.0.01 更改为可以被远程访问的IP3.在MYSQL命令行,创建一个可以用来远程访问的用户grant 权限 o原创 2012-02-09 17:33:38 · 620 阅读 · 0 评论 -
MYSQL进阶学习之order by按是否为null排序
对null值排序select * from t1 order by sname desc;+-----+-----+--------+| sid | sno | sname |+-----+-----+--------+| 103 | 203 | 徐文宇 || 104 | 204 | kk || 101 | 201 | NULL || 103 |原创 2012-07-05 13:14:11 · 1637 阅读 · 0 评论 -
MYSQL基础学习之concat
concat 这个函数经常用怕忘了,记录一下concat 能将不同字段连接起来MYSQL就是没提供将相同字段连接起来的函数,ORACLE就有,每次需要自己写句话来连。原创 2012-06-29 20:06:29 · 682 阅读 · 0 评论 -
MYSQL基础学习之group by 和 distinct
group by 分组功能,按字段来排除重复,同时可以用来计算,功能很强大。distinct 排除重复,按行来排除重复。今天在项目当中正好用到这个,也可以拿来一起使用,记录一下,count(distinct(字段)) 去除重复的字段,然后计算数据总条数。原创 2012-06-29 19:58:46 · 719 阅读 · 0 评论 -
两表同步
ENGINE=FEDERATED CHARSET=utf8 COMMENT='告警信息表' CONNECTION='mysql://user:password@ip/database/table'原创 2012-11-07 18:01:51 · 679 阅读 · 0 评论 -
MYSQL FEDERATED引擎开启
MYSQL FEDERATED引擎开启1.MYSQL命令行,查看FEDERATED引擎是否开启,默认是不开启>show engines;2.如果没有开启配置my.cnf [mysqld]feterated3.重启MYSQL服务器简单使用 CREATE TABLE `app_info` ( )ENGINE=FEDER原创 2012-12-07 15:31:13 · 7379 阅读 · 1 评论 -
完整的复制一张表(结构,索引,数据)
CREATE TABLE 复制表 LIKE 表;INSERT INTO 复制表 SELECT * FROM 表原创 2012-12-07 17:57:42 · 6330 阅读 · 0 评论 -
MYSQL 时间函数
1.FROM_UNIXTIME时间撮转化为格式化时间>SELECT FROM_UNIXTIME(时间字段,'%Y-%m-%d')2.UNIX_TIMESTAMP格式化时间转化为时间撮>SELECT UNIX_TIMESTAMP(时间字段)原创 2012-12-07 17:38:12 · 730 阅读 · 0 评论 -
MYSQL 同服务器不同库 不同服务器不同库
今天发现一个比较郁闷的问题,同一个服务器两次MYSQL_CONNECT的时候,返回标识ID是一样的,后来查资料才发现,是因为MYSQL_CONNECT相同内容,不会建立新连接,下面列出我们解决方法同服务器不同库:需要在MYSQL_CONNNECT第四参数上加TRUE,让数据库建立新的连接,默认会FALSE,不会新建连接。不同服务器不同库:MSYQL_CONNECT连原创 2012-12-20 11:35:40 · 927 阅读 · 0 评论 -
mysql优化之参数优化
1、优化方式硬件优化=》系统优化=》mysql配置优化=》SCHEMA优化=》sql优化=》其他解决方案(redis or MongoDB or Cassandra or HBase)2、mysql配置分析1)常见瓶颈90%系统瓶颈都在IO上,所以提高IOPS尤为总要,iowait过高,加内存,减小数据读取量如果CPU很高,或者查询时间很长,90%索引不当如果系统发生swap,必定是内存分配不当所...转载 2018-05-24 15:51:28 · 559 阅读 · 0 评论