
数据库
文章平均质量分 94
侠客岛的含笑
我只不过在说有可能发生的事情,我并没有肯定的说法,不相信也不怀疑,要是想法偏向任何一边,而真相却相反的时候。(这是以前菜鸡的我)
展开
-
高性能可扩展mysql(用户模块设计,分区表使用)
如何把用户的属性存到表中?问题: 需求:单独保存会员级别信息(没有用户登录名)->sql无法执行数据更新异常当我们数据量比较大时,更新一次就需要很长的时间数据删除异常数据冗余问题 级别积分上限,级别积分下限数据表过宽,会影响修改表结构的效率问题所在: 数据库设计范式:http://blog.csdn.net/qq_33936481/article/details/72526156 https原创 2017-06-26 16:10:51 · 2665 阅读 · 0 评论 -
MYSQL性能优化之数据库的分库分表
数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改查的开销也会越来越大;另外,由于无法进行分布式式部署,而一台服务器的资源(CPU、磁盘、内存、IO等)是有限的,最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈。 说白了,就是分担写负载分库分表一 节点:mysql数据库一主多从的数据库原创 2017-06-24 14:00:42 · 7271 阅读 · 0 评论 -
MYSQL性能优化之SQL查询优化
SQL查询优化目的:减少查询所消耗的时间,加快查询的相应速度获取有性能问题的SQL满查询日志开销比较低磁盘IO (顺序存储) 开销忽略不计存储日志大小所需要的磁盘空间 (依赖)控制sql配置 - slow_query_log(默认关闭,启动on,运行系统启动满查询 set global) - 定时,避免占用过多的磁盘空间(使用脚本来控制) - slow_query_log_fil原创 2017-06-21 13:50:54 · 4487 阅读 · 0 评论 -
MYSQL性能优化之Mysql数据库索引优化
索引当数据越多,查询越多,内存不能完全缓存全部数据时,就需要索引来更快的找到需要的数据。存储引擎层实现,而不是服务器层。 不同存储引擎上的索引工作方式可能是不同的。不是所有的存储引擎支持所有的索引类型同一种索引,在不同的存储引擎的实现方法也有可能不同使用索引的优点索引文件的大小远远小于数据文件的大小(Innodb发生一次IO,最小的存储单位为页,默认情况一页大小为16k,数据越多读取原创 2017-06-19 22:30:06 · 712 阅读 · 0 评论 -
MYSQL性能优化之Mysql数据库高可用架构设计之MHA架构设计(下)
MHA(Master High Availability)是一个免费的开源工具,使用Prel开发。MHA更多关注点是主从复制中的主DB.当主DB崩溃时,快速的在从服务器中找到最佳服务器。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。主服务器宕机时,MHA会尝试从原创 2017-06-16 13:05:52 · 2509 阅读 · 0 评论 -
MYSQL性能优化之Mysql数据库高可用架构设计之MMM架构设计(上)
高可用性H.A.(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。它与被认为是不间断操作的容错技术有所不同。HA系统是目前企业防止核心计算机系统因故障停机的最有效手段。使用正常可用时间和全年时间百分比来表示高可用99999 (365*24*60)*(1-0.99999) = 5.256分钟严重的主从原创 2017-06-15 10:09:34 · 1954 阅读 · 0 评论 -
高性能可扩展mysql(电商数据库设计构思)
数据库设计规范(统一)数据库命名规范数据库基本设计规范(存储引擎的选择,字符类型的选择)数据库索引设计规范(索引列的选择,索引的优化技巧)数据库字段设计规范(列的字段类型)SQL开发规范(开发人员使用,指导编写优质sql)数据库操作行为规范(运维人员使用,减少数据库故障)数据库命名规范 - 关键字查询:https://dev.mysql.com/doc/refman/5.7/e原创 2017-06-10 23:04:24 · 6228 阅读 · 0 评论 -
MYSQL性能优化之Mysql数据库监控
监控对象数据库可用性监控数据库进程或是端口存在并不意味着数据库就是可用的也就是说登陆服务器,并且能正确执行mysql命令数据库性能 QPS和DPS并发线程数量(同时执行sql语句的数量,不是连接数)对Innodb阻塞和死锁进行监控分区磁盘空间防火墙的限制,TCP/IP可能被沾满 确认数据库是否可以连接 通过测试账号ping命令返回的信息判断数据库可以通过网络连接(批量) 确原创 2017-06-10 22:29:34 · 7270 阅读 · 4 评论 -
MYSQL性能优化之Mysql数据库高可用架构设计之日志复制
Mysql复制功能提供分担读负载复制基于主库上的二进制日志(异步)同一时间点,备库上的数据和主库不一致(主复数据延迟也无法控制)复制解决问题 mysql日志 show variables like 'binlog_format'set session binlog_format = STATEMENT(直接记录修改时的sql段)show binary_logs;f原创 2017-06-09 11:53:53 · 1420 阅读 · 0 评论 -
MYSQL性能优化之基准测试
基准测试(benchmarking)是一种测量和评估软件性能指标的活动。你可以在某个时候通过基准测试建立一个已知的性能水平(称为基准线),当系统的软硬件环境发生变化之后再进行一次基准测试以确定那些变化对性能的影响。 说简单点,就是针对系统设置的一种压力测试。测量系统性能,然后确保优化是否有效。 基准测试的目的: 对整个系统进行基准测试: 从系统入口进行测试(如网站Web前端,手机APP前端)原创 2017-05-19 13:33:23 · 868 阅读 · 0 评论 -
MYSQL性能优化之Mysql数据库结构设计
数据库结构设置和SQL语句优化是最能提升性能的优化了,和项目进行持续优化减少数据冗余(数据多次出现,或者一列数据可以通过其他列计算得到)尽量避免数据维护中出现更新,插入和删除异常(可以利用范式化模型来解决) 插入异常:表中的某个实体随着另一个实体而存在更新异常:如果更改表中的某个实例的单独属性时,需要对多行进行更新。(数据冗余)删除异常: 删除表中的某个实体,另一个实体也消失节约数据存储原创 2017-05-19 12:37:04 · 5764 阅读 · 1 评论 -
MYSQL性能优化之Mysql服务器参数
不同操作系统,mysql读取配置文件的位置顺序可能是不同的MySQL配置参数根据作用域:分为全局参数和会话参数(动态调整)会话参数在没有单独指定的时候,会使用相同名称的全局参数做为默认值; 有的全局变量修改后只对新的session有效,对于已经连接的session还是使用原来的参数(重新登陆才会更新)Session1: Session2: 重新登陆: 内存配置相关参数: 笔记原创 2017-05-16 22:51:09 · 671 阅读 · 0 评论 -
MYSQL性能优化之Mysql体系结构,存储引擎
Oracle: 数据文件包括:控制文件、数据文件、重做日志文件、参数文件、归档文件、密码文件。这是根据文件功能行进行划分,并且所有文件都是二进制编码后的文件,对数据库算法效率有极大的提高。由于Oracle文件管理的统一性,就可以对SQL执行过程中的解析和优化,指定统一的标准: RBO(基于规则的优化器)、CBO(基于成本的优化器) 通过优化器的选择,以及无敌的HINT规则,给与了SQL优化极大的原创 2017-03-10 15:37:35 · 2802 阅读 · 0 评论 -
MYSQL性能优化之操作系统参数,文件系统
许多人喜欢这样: 开发环境数据库放到window系统(大小写不敏感)上; 生产环境数据库放在Linux系统(大小写敏感)上,可以通过配置mysql参数来设置数据库小写; 还有另一种操作系统,FreeBSD(老版本对mysql的支持并不是很好),选择新的版本系统。 以稳定性著称的Solaris,系统本身提供了很多先进的功能和故障排除工具,以及良好的多线程。但是其应用性并不如linUx系统当然最原创 2017-03-10 11:34:01 · 1048 阅读 · 0 评论 -
MySQL性能优化之存储设备
对数据库产生的影响因素: windows默认的tcp并发数只有十个; mysql插件式存储引擎; 业务一旦上线,很难对相对的库表进行修改。 CPU和可用内存大小,热数据远远超过可用内存大小时,网络(大量数据被查询),比如使用memcache存储引擎时,缓存失效产生大量的网络传输。 当出现I/O系统瓶颈时,最好的解决办法就是升级I/O子系统,增加更多的内存。如何选择CPU?原创 2016-12-30 18:53:47 · 1587 阅读 · 0 评论 -
Mysql事务,并发问题,锁机制
1、什么是事务事务是一条或多条数据库操作语句的组合,具备ACID,4个特点。原子性:要不全部成功,要不全部撤销隔离性:事务之间相互独立,互不干扰一致性:数据库正确地改变状态后,数据库的一致性约束没有被破坏持久性:事务的提交结果,将持久保存在数据库中2、事务并发会产生什么问题1)第一类丢失更新:在没有事务隔离的情况下,两个事务都同时更新一行数据,但是第二个事务却中途失败退出, 导致对数据的两个修改都失转载 2016-12-09 10:10:28 · 3042 阅读 · 0 评论 -
mysql入门(基础要打好啊~)
服务器安装不说了,我想大家都会,linux的比较繁琐一点,看我centos安装lamp的笔记,http://wenku.baidu.com/view/9ee64c9558fafab068dc02f6 对于mysql规范操作命令使用大写的情况,感觉很繁琐,本人还是喜欢用小写。 导入外部sql文件,使用控制台 执行命令 source 路径,mysql -V可以查看当前的mysql的版本号;mysq原创 2016-12-02 15:17:55 · 1765 阅读 · 0 评论