上一页 1 2 3 4 5 6 7 8 ··· 20 下一页
摘要: 涉及抢购、秒杀、抽奖、抢票等活动时,为了避免超卖,那么库存数量是有限的,但是如果同时下单人数超过了库存数量,就会导致商品超卖问题。那么我们怎么来解决这个问题呢,我的思路如下(伪代码): 当没有并发时,上面的流程看起来是再正常不过了,假设同时两个人下单,而库存只有1个了,在sql1阶段两个人查询到的库 阅读全文
posted @ 2017-05-08 17:04 chenjiacheng 阅读(1137) 评论(0) 推荐(0) 编辑
摘要: 一、Sphinx简介 1. Sphinx是什么? 中文名:全文索引引擎。只支持英文和俄文。但是只要有相应的语言包也可支持任何语言。国内有一团队在Sphinx基础上封装了一个带中文包的软件:coreseek。 2. 为什么要用Sphinx? 在mysql数据库中,对于如下sql语句,select * 阅读全文
posted @ 2017-04-22 12:04 chenjiacheng 阅读(4220) 评论(1) 推荐(1) 编辑
摘要: 一、session数据入memcache的问题 客户端要执行登录的操作,当用户登录成功后,要把信息存储到sesson里面。因为负载均衡把请求是轮流转发给apache的服务器的,导致服务器无法共享 session文件。如图所示: 具体的配置:打开php.ini 配置文件 1. 修改session的存储 阅读全文
posted @ 2017-04-09 16:32 chenjiacheng 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 1. 基本概念 基本概念:把一个表,从逻辑上分成多个区域,便于存储数据。 采用分区的前提:数据量非常大。 比如一个用户表,想分成4个区域,如何分呢? 用户的id 1到1000 分到 东区用户的id 1001到2000 分到 南区用户的id 2001到3000 分到 西区用户的id 大于3001的 分 阅读全文
posted @ 2017-04-08 14:49 chenjiacheng 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 在长期的数据更改过程中,索引文件和数据文件,都将产生空洞,形成碎片,我们可以通过一个nop操作(不产生对数据实质影响的操作)来修改表。 执行如下操作:delete from t9 where id=1; 操作完成后,数据应该减少三分之一才对。 执行完成该语句后,发现数据文件并没有减少三分之一,这样在 阅读全文
posted @ 2017-03-26 23:44 chenjiacheng 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 比如有如下操作: (1)从数据库中取出id的值 (2)把这个值加1 (3)在把该值存回到数据库 假如该id初始值为100,如果有两个用户同时操作。 第一个用户: 第二个用户: 经过两个用户操作数据库,值应该为102才对。 假如是一个购物网站,库存还剩1件,有两个用户同时购买1件商品。 mysql中的 阅读全文
posted @ 2017-03-14 15:49 chenjiacheng 阅读(210) 评论(0) 推荐(0) 编辑
摘要: limit offset,N 当offset非常大时,效率极低。 原因是:mysql并不是跳过offset行,然后单取N行。而是取offset+N行。 返回时,放弃前offset行,返回N行。效率较低,当offset越大是,效率越低。 优化方式: 1. 非技术手段限制分页,比如百度翻页一般不会超过7 阅读全文
posted @ 2017-03-12 21:53 chenjiacheng 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 索引覆盖是指:如果查询的列恰好是索引的一部分,那么查询只需要在索引文件上进行,不需要回行到磁盘再找数据,这种查询速度非常快,称为“索引覆盖” 索引覆盖就是,我要在书里 查找一个内容,由于目录写的很详细,我在目录中就获取到了,不需要再翻到该页查看。 如果在一个sql语句中,经常查询某些列,就可以把某些 阅读全文
posted @ 2017-03-08 18:05 chenjiacheng 阅读(981) 评论(0) 推荐(0) 编辑
摘要: 1. 全值匹配 条件字段使用“=” 2. 范围匹配(<= >= between and) 3. 独立的列 是指索引列不能是表达式的一部分,也不能是函数的参数 注意:要求索引的列必须是独立的一列才能用到索引。 4. 左值匹配 在使用like(模糊匹配)的时候,在左边没有通配符的情况下,才可以使用索引。 阅读全文
posted @ 2017-03-08 16:45 chenjiacheng 阅读(619) 评论(0) 推荐(0) 编辑
摘要: 一、Ajax对象(3个方法5个属性) 1、创建Ajax对象 如果想使用Ajax必须有一个前提:首先要创建一个Ajax对象,但是由于Ajax属于客户端语言,所以其在不同浏览器下创建的方式也是不同的: 基于IE内核的浏览器(低于IE8以下版本的IE浏览器) 基于W3C内核的浏览器(火狐、谷歌、Opera 阅读全文
posted @ 2017-03-08 16:03 chenjiacheng 阅读(436) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 20 下一页