SQL/noSQL
文章平均质量分 55
Linvo
刚要成熟,又要老去。时光,好不经用。
展开
-
使用子查询提高MySQL分页效率
今天在老王的博客中看到了一篇《验证使用子查询提高MySQL分页效率》的文章,很有收获,总结分享之~对于有大数据量的mysql表来说,使用LIMIT分页存在很严重的性能问题。例如老王做的测试,拿一个接近一千万行记录的表,进行查询从第1000000之后的30条记录: SQL代码1:平均用时6.6秒SELECT * FROM `cdb_posts` ORDER BY pid LIMIT 10转载 2009-02-15 18:55:00 · 2184 阅读 · 3 评论 -
Bump的Redis应用经验
这里说的Bump就是那个手机碰一碰就能交换信息的app,本文来自Bump的开发者博客,他们描述了自己使用Redis的几种方法,以及在使用过程中的一些经验,包括与MongoDB同机部署的一些问题,NoSQLFan转译如下,详细描述可移步原文1.将Redis用作消息队列采用的当然是R转载 2011-07-23 10:21:53 · 1284 阅读 · 0 评论 -
Mysql的一些命令范例
===========新建用户 GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON dbname.* TO 'username'@'localhost' IDENTIFIED BY 'password'; 1说明:创建用户名为username,密码为password的帐户,允许访问dbname数据原创 2009-02-15 18:41:00 · 546 阅读 · 0 评论 -
Redis资料汇总(不定期更新)
Redis资料汇总专题【强烈推荐】:http://blog.nosqlfan.com/html/3537.html------------------------------------------ 华丽丽的分割线------------------------------------------锋利的Redis:http://lgone.com/html/y2010/732.html原创 2011-07-31 13:40:53 · 1575 阅读 · 0 评论 -
HA与Replication
笔记一篇,直接入正题:高可用中数据复制是关键,一般分异步、强同步和半同步三种。异步复制就像是MySQL中最常用的主从同步,Master不管同步过程,只负责自己写入成功后立即返回,同时记录下binlog,用于Slaver进行同步。此时若Master宕掉,Slaver有丢失最后更新数据的可能性,直接切换到Slaver有可能带来数据不一致。对于异步复制这种情况,如果要保证原创 2012-03-05 13:02:26 · 1310 阅读 · 0 评论 -
最近在读的书
介于传统的关系型数据库和键值数据库之间的文档型数据库的代表——MongoDB,确实属于那种让人眼前一亮的东西 从UNIX哲学角度讲解系统设计,非常值得一读原创 2012-05-27 15:07:33 · 990 阅读 · 0 评论 -
MongoDB备份数据的压缩存储
由于mongodb的数据结构原因,相比传统关系型DB来说数据的存储空间占用很大。这对于那些不经常用到的备份数据的存放来说,硬盘空间利用率问题不容小视。拿MySQL来说,记得从网上看别人测试的结果,相同的数据,mongodb占用500M+,MySQL的innoDB占用200M+,而MyISAM更是只占用了40M+的空间。当然,测试结果和原数据的内容等诸多方面有很大关系,这种数据并没有标准原创 2012-06-15 00:13:49 · 4178 阅读 · 2 评论 -
RabbitMQ集群方案
RabbitMQ虽然是天生的分布式消息队列,但其本身并不支持负载均衡。Connecting to Clusters from ClientsA client can connect as normal to any node within a cluster. If that node should fail, and the rest of the cluster原创 2012-07-27 16:20:13 · 11216 阅读 · 5 评论 -
Mongodb中的like查询
假如需要查找的字符串为“s”,则可以用以下4种方法:db.tables.find({"name":/s/})db.tables.find({"name":/^s/})db.tables.find({"name":/s.*/})db.tables.find({"name":/.s.*/})下面就分析下这几种查询的对应结果有什么不同:1)db.city.find({"reg转载 2012-08-16 10:52:30 · 2364 阅读 · 0 评论 -
Mongodb基本查询整理
本文由我们组的程序媛MM汇总整理----------------------------------- 我是分割线 ------------------------------------------精确匹配单个键值对:{"age":28}, 返回"age"值为28的所有文档。多个键值对:{"username":"tom", "age":28},将多个查询条件组合在一起,等同于:条原创 2012-08-31 11:16:01 · 1398 阅读 · 0 评论 -
玩玩12306的SQL注入漏洞
下午那会儿微博上疯传一张12306的SQL注入漏洞截图:以前没怎么玩过,那会儿正好有空,所以就上去瞅瞅。根据trace提示简单构造一个:' OR '1'='1' OR ZIZ='注入后的效果应就是:select * from TB_INFO_CLCS where flag = 'Y' and czdm ='G' and cxdm like '%' OR原创 2012-09-27 21:09:54 · 4690 阅读 · 4 评论 -
Mysql Limit操作
select * from table LIMIT 5,10; #返回第6-15行数据select * from table LIMIT 5; #返回前5行select * from table LIMIT 0,5; #返回前5行 性能优化: 基于MySQL5.0中limit的高性能,我对数据分页也重新有了新的认识.1.Select * From cyclopedia Where转载 2009-02-15 18:28:00 · 785 阅读 · 0 评论 -
从小型网站到超大规模网站的MySQL参考架构
Oracle发布《面向大规模可伸缩网站基础设施的MySQL参考架构》白皮书,针对将MySQL用作数据存储的不同类型和不同规模的网站给出了推荐的拓扑结构。根据分别提供4类服务——用户和会话管理、电子商务、分析类应用 (多结构数据)和CMS(元数据)——的网站的规模和可用性要求(如下表所示),这份白皮书给出了4个参考架构。请注意,这里给出的指导方针只是基本建议,实际应用中需要根转载 2013-03-19 17:01:49 · 2928 阅读 · 0 评论 -
从需求出发来看关系模型与非关系模型–时代的变革1
上次我们谈到,因为互联网应用的实际需求与传统数据库之间出现了不匹配的情况。 于是,破坏与重构就成为了新时代的主音。 对互联网应用而言,最急需的需求,就是处理大量用户输入的海量数据,进行一些逻辑处理后再将结果返回给用户。因此,对于在线数据处理来说,可水平扩展的容量指标,可无限增长的写入tps和读取qps,是互联网企业的最大,最急需的需求。 相比较而言,为了转载 2013-06-19 12:40:38 · 2672 阅读 · 0 评论 -
腾讯CMEM的PHP扩展
CMEM是什么?CMEM全称为Cloud Memory,是腾讯提供的高性能内存级持久化存储服务,适用于数据量小、访问量高、key-value存储的场景。CMEM基于一个存储键/值对的hashmap,数据使用内存存储,并保证数据的持久性。CMEM PHP Extension是什么?转载 2011-07-23 10:10:30 · 1100 阅读 · 0 评论 -
伤不起的MySQL问题
最近遇到一系列“百年一遇”的MySQL问题,运维部的童鞋也表示鸭梨山大。。。 ------------------------------------悲催催的分割线------------------------------------ 1、主从同步异常同一库的一些表主从不同步。。。。主要它还“无错误日志”!!2、我自己的SQLyog执行SQL直接诱发服务器mysqld原创 2011-06-24 17:07:00 · 1168 阅读 · 2 评论 -
如何在MySQL数据库中定义外键
本文给出了MySQL数据库中定义外键的必要性、具体的定义步骤和相关的一些基本操作,供大家参考!定义数据表假如某个电脑生产商,它的数据库中保存着整机和配件的产品信息。用来保存整机产品信息的表叫做pc;用来保存配件供货信息的表叫做parts。在pc表中有一个字段,用来描述这款电脑所使用的CPU型号;在parts表中相应有一个字段,描述的正是CPU的型号,我们可以把它想成是全部CPU的型号列转载 2009-02-15 19:29:00 · 2153 阅读 · 0 评论 -
mysql使用rand随机查询记录效率测试
一直以为mysql随机查询几条数据,就用SELECT * FROM `table` ORDER BY RAND() LIMIT 5就可以了。但是真正测试一下才发现这样效率非常低。一个15万余条的库,查询5条数据,居然要8秒以上查看官方手册,也说rand()放在ORDER BY 子句中会被执行多次,自然效率及很低。You cannot use a column w转载 2009-02-15 17:51:00 · 561 阅读 · 0 评论 -
MySQL优化总结
表设计方面:1、字段名尽量简化,不要超过18个字符2、使用尽量小的数据类型,例如:MEDIUMINT比INT少占用25%空间3、字段类型应尽量避免设置成可变长度,如:VARCHAR、BLOB、TEXT4、用于比较的不同字段,应设置相同的类型及长度5、尽可能将字段声明为NOT NULL6、主索引尽可能短7、仅创建真正用到的索引(索引会减慢存储数据的速度)8、如果一个字原创 2009-02-15 18:42:00 · 516 阅读 · 0 评论 -
MySQL全文搜索
全文索引在 MySQL 中是一个FULLTEXT类型索引。FULLTEXT索引用于MyISAM表,可以在CREATETABLE时或之后使用ALTER TABLE或CREATEINDEX在CHAR、VARCHAR或TEXT列上创建。对于大的数据库,将数据装载到一个没有FULLTEXT索引的表中,然后再使用ALTERTABLE(或CREATE INDEX) 创建索引,这将是非常快的。将数据转载 2009-02-15 19:08:00 · 559 阅读 · 0 评论 -
MySQL Join 詳解
作者 Dennis Dll 来源 CSDN 2004-06-15 還是先 Create table 吧 create table emp( id int not null primary key, name varchar(10)); create table emp_dept( dept_id varchar(4) not null,转载 2009-02-26 17:58:00 · 760 阅读 · 0 评论 -
MySQL优化要点
一、我们可以且应该优化什么?硬件操作系统/软件库SQL服务器(设置和查询)应用编程接口(API)应用程序 二、优化硬件如果你需要庞大的数据库表(>2G),你应该考虑使用64位的硬件结构, 像Alpha、Sparc或即将推出的IA64。因为MySQL内部使用大量64位的整数,64位的CPU将提供更好的性能。对大数据库,优化的次序一般是RAM、快速硬盘、CPU能力。更多的内存通过将最常用转载 2009-05-05 10:40:00 · 971 阅读 · 0 评论 -
用Twitter的cursor方式进行Web数据分页
这种分页形式现在已经广泛应用于各种SNS的消息动态的展现等类似场合PS:关于分页效率,之前曾转过一篇《Mysql Limit操作》转帖开始... ------------------------------------------ 华丽的分割线 ---------------------------------------------- 本文讨论Web应用中实现数据分转载 2010-02-08 14:01:00 · 1594 阅读 · 0 评论 -
memcached存储机制研究
声明:1、本文需要对memcache有一定了解2、测试用memcached版本1.4.53、错误之处恳请指正! 很早就听说用memcached缓存数据,在分配内存未用尽时偶尔也会出现踢出未过期数据的问题。对此一直不是很理解,由于项目遇到应用选择问题,所以专门对其进行了些测试和研究。 首先简单介绍几个名词,了解过memcache原理的应该都不陌生:chunk 数据存放原创 2010-05-20 22:55:00 · 2192 阅读 · 1 评论 -
Redis入门教程
<br /> <br />简单的说,介是一个支持多种数据结构(集合、队列、堆栈等)的noSQL数据库,由于使用了灰常大的内存映射(一般情况下是全部数据),因此也灰常地高效~<br />--------------------------------------------------华丽的分割线--------------------------------------------------<br />本文包括如下内容:Redis简介Redis的性能安装Redis、Redis启动参数介绍应用实例:利用Re转载 2010-07-29 16:52:00 · 7777 阅读 · 2 评论 -
按条件迁移数据[MySQL]
<br />功能需求:<br />1、把 friend 和 friend_profile 表中的垃圾(符合一定条件)数据转移到 friend_rubbish 和 friend_profile_rubbish 表中<br />2、条件有可能较为复杂<br /> <br />非功能需求:<br />1、线上操作<br />2、千万级数据量<br /> <br />声明:俺不是DBA,只会写点简单的SQL……-_-! 高手、大牛、神人、耶稣、释迦摩尼……能指点就指点指点偶吧~~~~~~<br /> <br />写原创 2010-10-12 15:41:00 · 1084 阅读 · 0 评论 -
一致性哈希
<br />网上关于“一致性哈希”这个东东的解释总感觉都不明了,本来不是很复杂的原理,非得拼死了往复杂里描述,都在学校写论文写惯了么- -|||<br />个人感觉这篇文章内容比较简明的解释了“一致性哈希”这个东东,所以就转来鸟~~~~(最终出处不晓得哪里,懒得考究~_~)<br />(本人只截取了部分内容。原文标题:Memcached的分布式)<br />——————————————————————————— 华丽丽的分割线 —————————————————————————————————<br />转载 2010-10-27 21:44:00 · 1164 阅读 · 0 评论 -
Redisql: the lightning fast data polyglot【翻译】
<br /> <br />老外就是能搞,硬让Redis全面支持SQL。。。彪悍的人生不需要解释~!<br />本文是对其博文的翻译,还有些地方不是太明白,敬请指正~!<br />英文原文:http://jaksprats.wordpress.com/2010/09/28/introducing-redisql-the-lightning-fast-polyglot/<br /> <br />——————————————————————————华丽丽的分割线——————————————————————————翻译 2010-11-05 12:34:00 · 2238 阅读 · 0 评论 -
札记
<br /><br />CAP理论<br />C一致性、A可用性、P分区容忍性(分布式)<br />关系DB:CA<br />键值DB:AP<br />大型网站设计时一般会偏AP<br /> <br /> <br />不要删除数据<br />使用status字段代替isDeleted字段,更不要硬删除!<br /> <br /> <br />随机/顺序读/写<br />因为Jim Gray的名言,所以尽量把随机操作留给RAM,只给硬盘留下顺序操作,寻址太耗时了<br />I/O是经典瓶颈,而不是程序本身原创 2010-11-08 16:22:00 · 709 阅读 · 0 评论 -
Redis主从方案
【综述】目前官方没有提供HA集群解决方案,提供的是类似MySQL的主从同步方式,对于一般的规模和场景基本足够。假设master为192.168.1.100:6000,slaver为192.168.1.101:6000,则slave的配置中打开 slaveof 192.168.1.100 6000 即可实现两者同步。 同步很简单,但怎样让同步更有效,集群更健壮,维护更简单呢?这些才是本文原创 2013-11-06 20:51:50 · 3255 阅读 · 0 评论