mysql
bug_yun
这个作者很懒,什么都没留下…
展开
-
MySQL里面值为NULL的判断
select t.args1,t.args2,t.args3 from beyond t ; select t.args1,t.args2,t.args3 from beyond t where t.args2 != null ; select t.args1,t.args2,t.args3 from beyond t where t.args2 = nu...原创 2015-06-24 10:33:18 · 306 阅读 · 0 评论 -
MYSQL 分库的优缺点
何谓垂直切分,即将表按照功能模块、关系密切程度划分出来,部署到不同的库上。例如,我们会建立定义数据库workDB、商品数据库payDB、用户数据库userDB、日志数据库logDB等,分别用于存储项目数据定义表、商品定义表、用户数据表、日志数据表等。何谓水平切分,当一个表中的数据量过大时,我们可以把该表的数据按照某种规则,例如userID散列,进行划分,然后存储到多个结构相同的表,和不同的库上...原创 2015-11-23 16:10:07 · 1604 阅读 · 0 评论 -
数据分析报表设计概要
1. 基础表 ==》 基础报表的表 ==》分析报表的表2. 报表: 原始数据获取处理 --> 数据分析整理 --> 报表展示。3. 分析报表表的作用: 1. 节约成本:分析报表表设计好后,以后报表开发不再需要通过繁琐的关联关系去查询,直接通过报表表关联即可,从而节约更多的开发时间和人力财力。 2. 使用频率:根据报表使用频率确定用户的关注度(通过日志表或者报表字段记录...原创 2015-11-24 15:32:11 · 279 阅读 · 0 评论 -
MySQL主从复制(Master-Slave)与读写分离
1. 主从复制通过修改 mysql 配置文件实现。2. 读写分离通过 Amoeba for Mysql/MySQL-Proxy 3. 4台服务器做的一套集群方案 Amoeba for Mysql和 MySQL-Proxy:1. Amoeba 是用JAVA写的功能异常强大,支持读写分离,表和库级别的读写分离,数据库水平分割,垂直分割,还有集群。2.mysql-proxy 只是轻量级的...原创 2015-12-04 11:38:36 · 182 阅读 · 0 评论 -
阿里巴巴的数据库连接池 druid 优点
阿里的 druid :它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser。 Druid 相对于其他数据库连接池的优点: 1.强大的监控特性,通过Druid提供的监控功能,可以清楚知道连接池和SQL的工作情况。 a. 监控SQL的执行时间、ResultSet持有时间、返回行数、更新行数、错误次数、错误堆栈信...原创 2015-12-04 15:00:43 · 5370 阅读 · 0 评论 -
mysql 安装、启动、设置密码
以下操作都是在 cmd.exe 右键 管理员运行 1. 安装服务mysqld.exe install如果提示Install/Remove of the Service Denied!则cmd用管理员运行 2. 启动服务net start mysql如果提示 MySQL 服务无法启动。服务没有报告任何错误,则执行1操作 3. 查看错误m...2016-11-30 14:07:25 · 648 阅读 · 0 评论 -
mysql coalesce函数与 ifnull 函数对比
# coalesce: 联合,合并。返回传入的参数中第一个非null的值SELECT COALESCE (NULL, NULL, 1, 2);# 如果只有两个参数和IFNULL用法一样, 1 , 1 , 1 , NULLSELECT IFNULL(NULL, 1) as ifnull, COALESCE (NULL, 1) as coalesceTwo, COA...原创 2016-12-05 16:05:32 · 2482 阅读 · 0 评论 -
mysql 锁和各锁级别
共享锁(行级别:查)共享锁的代号是S,是Share的缩写,共享锁的锁粒度是行或者元组(多个行)。一个事务获取了共享锁之后,可以对锁定范围内的数据执行读操作。 排它锁(行级别:增删改)排它锁的代号是X,是eXclusive的缩写,排它锁的粒度与共享锁相同,也是行或者元组。一个事务获取了排它锁之后,可以对锁定范围内的数据执行写操作。 意向锁(表级别)意向锁是一种...原创 2017-05-08 10:21:52 · 698 阅读 · 0 评论 -
分库分表SQL优化
分库拆表:好处:1. 数据库容量问题;2. 解决性能压力的最优选择;原则:反范式数据结构设计,所谓反范式,第一要点是不用外键,不允许Join 操作,不允许任何需要跨越两个表的查询请求;第二要点是适度冗余减少查询请求。 分库方案:1. 安全性拆分将高安全性数据与低安全性数据分库,这样的好处第一是便于维护,第二是 高安全性数据的数据库参数配置可以以安全优先,而低安...原创 2017-05-24 17:10:59 · 640 阅读 · 0 评论 -
PowerDesigner逆向工程导入MYSQL数据库总结
转自:http://blog.csdn.net/chamtianjiao/article/details/7258316 注意:ODBC32装上识别不了,这样的话,先装64位的,再装32位的;如果只装64位的,PD报错 PowerDesigner逆向工程导入MYSQL数据库总结由于日常数据建模经常使用PowerDesigner,使用逆向工程能更加快速的生成模型提高效率,所以总...原创 2016-03-16 18:40:57 · 84 阅读 · 0 评论 -
mysql CURRENT_TIMESTAMP与ON UPDATE CURRENT_TIMESTAMP属性
转自:http://blog.sina.com.cn/s/blog_4b319667010182s7.html timestamp有两个属性,分别是CURRENT_TIMESTAMP 和ON UPDATE CURRENT_TIMESTAMP两种,使用情况分别如下: 1.CURRENT_TIMESTAMP 当要向数据库执行insert操作时,如果有个timestam...原创 2016-03-25 10:04:35 · 247 阅读 · 0 评论 -
Value '0000-00-00' can not be represented as java.sql.Date(转)
转自:http://josh-persistence.iteye.com/blog/2098415?utm_source=tuicool&utm_medium=referral java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp问题描述,...原创 2016-04-12 10:40:12 · 89 阅读 · 0 评论 -
妙用GROUP_CONCAT,先排序再分组
表结构 表数据 GROUP_CONCAT函数返回一个字符串结果,该结果由分组中的值连接组合而成。 SELECT alias, GROUP_CONCAT(cost_money) AS maxCostNearestDateFROM beyondGROUP BY alias; Q: 获得某人最近花费最多的那天的记录A:...原创 2017-12-07 17:24:11 · 6965 阅读 · 0 评论 -
mysql 根据表名,获得数据库名、表名、字段名、字段注释、数据类型
SELECT table_name 表名, column_name 字段名, COLUMN_TYPE 数据类型, column_default 字段默认值, column_comment 字段注释FROM information_schema. COLUMNSWHERE LOWER(table_name) = 't_action';SEL...原创 2017-12-22 10:12:17 · 598 阅读 · 0 评论 -
mysql 把查询到的数据加上一个自动编号字段
/* * 把查询到的数据加上一个自动编号字段 */SELECT @rownum := @rownum + 1 AS rownum, one.nameFROM (SELECT @rownum := 0) r, test.user one原创 2018-01-12 10:53:57 · 1777 阅读 · 1 评论 -
ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)
今天本地的 mysql 突然不能用了解决方案:1. cmd.exe 以管理员的身份运行 ;2. cd 到mysql下的bin文件 ;3. mysqld --install ;4. net start mysql ;原创 2015-11-10 16:17:24 · 149 阅读 · 0 评论 -
mysql update语句的用法
1. 单表的UPDATE语句: UPDATE [LOW_PRIORITY] [IGNORE] tbl_nameSET col_name1=expr1 [, col_name2=expr2 ...][WHERE where_definition][ORDER BY ...][LIMIT row_count] 2. 多表的UPDATE语句 U...原创 2015-11-10 14:06:43 · 50070 阅读 · 0 评论 -
mysql RegExp 扩展正则表达式的一些字符
REGEXP 扩展正则表达式的一些字符:select * from beyond 1. [abc]: 匹配“a”、“b”或“c”;select * from beyond where args1 REGEXP '^[abc]' ; 2. [a-z]: 匹配任何字母select * from beyond where args1 REGEXP '^[a-c]'...原创 2015-06-26 15:02:47 · 218 阅读 · 0 评论 -
mysql replace into 和 insert into 的区别
MySQL 中 replace into的用法,是insert into的增强版。replace into在向表中插入数据时: 1、首先判断数据是否存在; 2、如果不存在,则插入; 3、如果存在,则更新。replace into 跟 insert 功能类似,不同点在于:1. 表必须有主键或者是唯一索引,否则没有什么不同;2. 如果有主键或者是唯一索引,则REPLACE发现重复的...原创 2015-06-30 09:36:59 · 563 阅读 · 0 评论 -
mysql 里的 dual 表
select 11+22+22 ;select 11+22+22 from dual; select ab+ba;select ab+ba from dual; 我个人理解为 以上语句 mysql 在执行的时候,把select和from之间的值进行了转换为整形的运算。 mysql 里 dual 表示假表即: select 和 from 之间必须是字符或者数字,以下两个...原创 2015-06-30 09:37:12 · 298 阅读 · 0 评论 -
mysql导入数据load data infile用法
转自:http://hunan.iteye.com/blog/752606 我们常常导入数据!mysql有一个高效导入方法,那就是load data infile 下面来看案例说明 基本语法:load data [low_priority] [local] infile 'file_name txt' [replace | ignore]into table t...原创 2015-06-30 09:57:41 · 86 阅读 · 0 评论 -
mysql 中 group_concat 的妙用
select args3,args4 from beyond ; select args3,group_concat(args4) as args4 from beyond group by args3原创 2015-07-21 13:45:27 · 110 阅读 · 0 评论 -
数据库切分“基本思想”、“常见问题”
优点:分库降低了单点机器的负载;分表提高了数据操作的效率,尤其是write操作的效率 1.垂直切分适用场景:表多数据多。特点:规则简单、业务逻辑清晰、业务耦合度非常低。根据相同业务使用的表放到相同的数据库。在垂直切分出的表聚集内,找出“根元素”,按“根元素”进行水平切分,也就是从“根元素”开始,把所有和它直接与间接关联的数据放入一个shard(碎片)里,如对于社交网站,...原创 2016-05-11 10:44:54 · 145 阅读 · 0 评论 -
mysql 集群负载均衡方式与问题
1. 随机负载均衡从集群中随机选择一台机器,使用于slave中配置都差不多的场景,简单实用。 2. 加权负载均衡从集群中根据权值选择指定机器,增加了复杂性和可维护性。使用加权负载均衡要解决以下几个问题:a. 开发接口,根据机器性能分配权值;b. 当前权值的slave挂掉后,如何发现和自动更换到其他机器。A1: 程序可用性探测机制(程序控制)A2: 可用性的数据...原创 2016-05-11 10:56:14 · 157 阅读 · 0 评论 -
mysql的主从复制延迟的问题(转)
1. MySQL数据库主从同步延迟原理。答:谈到MySQL数据库主从同步延迟原理,得从mysql的数据库主从复制原理说起,mysql的主从复制都是单线程的操作,主库对所有DDL和DML产生binlog,binlog是顺序写,所以效率很高,slave的Slave_IO_Running线程到主库取日志,效率很比较高,下一步,问题来了,slave的Slave_SQL_Running线程将主库的D...原创 2016-05-11 11:20:41 · 94 阅读 · 0 评论 -
MySql查询时间段的方法(转)
参考:http://www.jb51.net/article/58668.htm MySql的时间字段有date、time、datetime、timestamp等,往往我们在存储数据的时候将整个时间存在一个字段中,采用datetime类型;也可能采用将日期和时间分离,即一个字段存储date,一个字段存储时间time。无论怎么存储,在实际应用中,很可能会出现包含“时间段”类型的查询,比如...原创 2016-06-02 16:36:49 · 193 阅读 · 0 评论 -
mysql 不走索引的情形
mysql 不走索引的情形:1. null 值判断;2. != , <> 操作符;3. or(大多数情况下);4. in(大多数情况下);5. like的使用(大多数情况下);6. where 子句中对字段进行表达式操作,eg: select id from t where num/2=100 ;7. 在 where 子句中对字段进行函数操作8. 在 ...原创 2015-09-09 11:48:26 · 1234 阅读 · 0 评论 -
mysql 中 exists 与 in 的底层分析
in 虽然和 or 有一定的区别,但单从整体逻辑和执行计划来看,相差无几,所以关于 in 的使用,宏观是可以看成(...or ...or......) in : 把外表和内表作hash 连接exists : 对外表作loop循环,每次loop循环再对内表进行查询 1. 如果查询的两个表大小相当,那么用in和exists差别不大;2. 如果两个表中一个较小,一个是大表,则子查询表大...原创 2015-09-09 16:29:40 · 1051 阅读 · 0 评论 -
leftjoinon后and和where后and区别例子
left join on 后 and 和where 后 and 区别例子原创 2016-07-29 10:56:18 · 333 阅读 · 0 评论 -
数据库建表注意事项(持续更新)
1. 新建表字段与基表字段相同,则新建表字段:字段名、非空限制等,与基表字段一致; 避免数据入库不一致性引起的一系列问题; ...原创 2016-08-05 12:04:39 · 305 阅读 · 0 评论 -
mysql 时间戳/datetime 转换
时间戳转换: FROM_UNIXTIME(create_time/1000, '%Y-%m-%d %H:%i:%s') createTime DateTime转换:DATE_FORMAT(create_time,'%Y-%m-%d %H:%i:%s') createTime原创 2018-03-01 10:03:01 · 1512 阅读 · 0 评论