随笔分类 -  05.MySql

摘要:数据库表分割技术包含以下内容:水平分割/垂直分割/库表散列.接下来将对以上分割进行详细介绍,感兴趣的朋友可以了解下,对你日后维护数据库是很有帮助的一.水平分割 什么是水平分割?打个比较形象的比喻,在食堂吃饭的时候,只有一个窗口,排队打饭的队伍太长了,都排成S型了,这时容易让排队的人产生焦虑情绪,... 阅读全文
posted @ 2016-01-18 20:38 海上浪子 阅读(217) 评论(0) 推荐(0) 编辑
摘要:引言为什么需要锁(并发控制)? 在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有:丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。脏读:当一个... 阅读全文
posted @ 2016-01-18 20:18 海上浪子 阅读(340) 评论(0) 推荐(0) 编辑
摘要:摘要:如果企业计划构建高性能的SaaS应用,仅凭云服务基础设施是不够的。如何基于云服务平台设计并实施符合自身业务特点的系统架构,是决定产品性能的关键。本文将讲述我们如何利用云服务,解决海量用户的数据库使用问题。杭州湖畔网络技术有限公司是一家专业提供SaaS化电商ERP服务的创业公司,主要用户群体为经... 阅读全文
posted @ 2016-01-18 19:06 海上浪子 阅读(727) 评论(0) 推荐(0) 编辑
摘要:一般人们分析问题,总是从问题现象,原因分析,解决方案这样的思路来分析思考问题,我想对这个数据库的水平拆分也按这样的思路来简单剖析一下。 先从问题现象入手,随着数据库表中数据日积月累越来越多,当表记录数达到千万甚至亿级别时,数据库表的访问效率下降明显,导致外层应用的访问效率非常差,访问时间急剧上升... 阅读全文
posted @ 2016-01-18 18:42 海上浪子 阅读(432) 评论(0) 推荐(0) 编辑
摘要:聚集索引 一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。 聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。 ... 阅读全文
posted @ 2015-11-05 15:34 海上浪子 阅读(152) 评论(0) 推荐(0) 编辑
摘要:摘要:对比传统关系型数据库,NoSQL有着更为复杂的分类——键值、面向文档、列存储以及图数据库。这里就带你一览NoSQL各种类型的适用场景及一些知名公司的方案选择。在过去几年,关系型数据库一直是数据持久化的唯一选择,数据工作者考虑的也只是在这些传统数据库中做筛选,比如SQL Server、Oracl... 阅读全文
posted @ 2015-10-31 10:17 海上浪子 阅读(213) 评论(0) 推荐(0) 编辑
摘要:1、mysql的默认事务的隔离级别:可重复读取(repeatable read);2、sqlserver的默认事务的隔离级别:提交读取(read committed);3、oracle的默认事务的隔离级别:提交读取(read committed). 阅读全文
posted @ 2015-01-30 12:51 海上浪子 阅读(1297) 评论(0) 推荐(0) 编辑
摘要:实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开... 阅读全文
posted @ 2014-12-29 10:42 海上浪子 阅读(159) 评论(0) 推荐(0) 编辑
摘要:最近在linux安装了mysql,根据网上收集的资料和个人的操作过程,大概做了个整理,以便以后进行参考回顾。 1、下载mysql-5.1.36.tar.gz,并且解压. tar -xzvf mysql-5.1.36.tar.gz 2、添加mysql组,新建mysql用户 groupadd mysql... 阅读全文
posted @ 2014-12-08 10:41 海上浪子 阅读(140) 评论(0) 推荐(0) 编辑
摘要:网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。1.对查询进行优化,要尽量避免全表扫描,首先应考虑... 阅读全文
posted @ 2014-07-21 11:10 海上浪子 阅读(179) 评论(0) 推荐(0) 编辑
摘要:Amoeba(变形虫)项目是一个开源框架,于2008年开始发布一款 Amoeba for Mysql软件;这个软件致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当SQL路由功能,专注于分布式数据库代理层(Database Proxy)开发;位于 Client、DB S... 阅读全文
posted @ 2014-05-19 10:20 海上浪子 阅读(185) 评论(0) 推荐(0) 编辑
摘要:数 据库设计是整个程序的重点之一,为了支持相关程序运行,最佳的数据库设计往往不可能一蹴而就,只能反复探寻并逐步求精,这是一个复杂的过程,也是规划和结 构化数据库中的数据对象以及这些数据对象之间关系的过程。下面给出了20个数据库设计最佳实践,当然,所谓最佳,还是要看它是否适合你的程序。一起来了解 了解吧。使用明确、统一的标明和列名,例如 School, SchoolCourse, CourceID。数据表名使用单数而不是复数,例如 StudentCourse,而不是StudentCourses。数据表名不要使用空格。数据表名不要使用不必要的前缀或者后缀,例如使用School,而不是TblScho 阅读全文
posted @ 2014-03-13 14:11 海上浪子 阅读(201) 评论(0) 推荐(0) 编辑
摘要:对于DB服务器同样也可以调整最大连接数来做优化。 在调整优化好最大连接数之后,就只有软硬件负载均衡了。硬件负载均衡能够直接通过智能交换机实现,处理能力强,而且与系统无关,但是价格贵,配置困难,不能区分实习系统与应用的状态。所以硬件负载均衡适用于一大堆设备,大访问量,简单应用。软件负载均衡是基于系统与应用的,能过更好地根据系统与应用的状况来分配负载。性价比高。PCL负载均衡软件,Linux下的LVS软件。程序级别的并发控制:当两个用户同时访问一个页面,一个用户可能更新的事另一个用户已经删除的记录。或者,在一个用户加载页面跟他点击删除按钮之间的时间里,另一个用户修改了这条记录的内容。有下面三中并发 阅读全文
posted @ 2014-01-02 15:08 海上浪子 阅读(309) 评论(0) 推荐(0) 编辑
摘要:环境模拟实现读写分离 减轻数据库的负荷 主服务器 master 10.0.0.12从服务器 slave 10.0.0.66------------------------------------------------------------------------------------------------------------------------配置主服务器: 在10.0.0.12服务器操作 创建数据库 create database mydemo; 1.修改配置文件vi /etc/my.cnf 在[mysqld] 后面添加下面的代码12345678... 阅读全文
posted @ 2013-12-11 16:39 海上浪子 阅读(219) 评论(0) 推荐(0) 编辑
摘要:本文的英文版本链接是 http://www.mrxuri.com/index.php/2013/11/20/install-mysql-cluster-on-ubuntu-12-04-lts.htmlMySQL Cluster 是 MySQL 适合于分布式计算环境的高实用、高冗余版本。它采用了 NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点 故障。开发者官方网站 www.oracle.com在这篇文章中,我会叙述如何 在 Ubuntu 阅读全文
posted @ 2013-12-11 16:35 海上浪子 阅读(319) 评论(0) 推荐(0) 编辑
摘要:ylbtech-DatabaseDesgin:ylbtech-cnblogs(博客园)-数据库设计-6.0-Msg(短消息)DatabaseName:cnblogs(博客园)Model:Passport:"短消息"块数据库设计Type:专业技术网站Url:http://www.cnblogs.com/1.A,数据库关系图(Database Diagram)1.B,数据库设计脚本(Database Design Script)6,sql-basic-msg.sqluse cnblogsgo-- ========================================= 阅读全文
posted @ 2013-12-11 15:53 海上浪子 阅读(182) 评论(0) 推荐(0) 编辑
摘要:处理上百万条的数据库如何提高处理查询速度1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=03.应尽量避免在 where 子句中使用!=或操作符,否则将引擎放弃使用索引而进行全表扫描。4.应尽量避免在 where 子句中使用 or 来 阅读全文
posted @ 2013-12-11 15:04 海上浪子 阅读(229) 评论(0) 推荐(0) 编辑
摘要:写sql语句分别按日,星期,月,季度,年统计销售额--按日select sum(consume),day([date]) from consume_record where year([date]) = '2006' group by day([date])--按周quarterselect sum(consume),datename(week,[date]) from consume_record where year([date]) = '2006' group by datename(week,[date])--按月select sum(consume), 阅读全文
posted @ 2013-12-11 14:35 海上浪子 阅读(270) 评论(0) 推荐(0) 编辑
摘要:在之前只知道SqlServer支持数据批量插入,殊不知道Oracle、SQLite和MySql也是支持的,不过Oracle需要使用Orace.DataAccess驱动,今天就贴出几种数据库的批量插入解决方法。首先说一下,IProvider里有一个用于实现批量插入的插件服务接口IBatcherProvider,此接口在前一篇文章中已经提到过了。/// /// 提供数据批量处理的方法。 /// public interface IBatcherProvider : IProviderService { /// /// 将 的数据批量插入到... 阅读全文
posted @ 2013-12-11 09:22 海上浪子 阅读(447) 评论(0) 推荐(0) 编辑
摘要:一、C# vs SQLite: C#SQLite字段名类型库类型GetFieldType(#)转换备注F_BOOLboolBIT NOT NULLBoolean F_BOOL_NULLbool?BITBoolean F_SBYTEsbyteINT8 NOT NULLSBytesbyte_ F_SBYTE_NULLsbyte?INT8SBytesbyte_ F_BYTEbyteUINT8 NOT NULLByte F_BYTE_NULLbyte?UINT8Byte F_SHORTshortINT16 NOT NULLInt16 F_SHORT_NULLshort?INT16I... 阅读全文
posted @ 2013-12-11 08:56 海上浪子 阅读(906) 评论(3) 推荐(0) 编辑

点击右上角即可分享
微信分享提示