`
文章列表
当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。 1. 为查询缓存优化你的查询 大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。 这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让MySQL不使 ...
防止人为误操作MySQL数据库技巧一例 (本题来自老男孩培训内部学生问题,属于数据库安全技巧) 在若干年前,老男孩亲自遇到一个“命案”,老大登录数据库update一个记录,结果忘了加where,于是悲剧发生了,这使得我对MySQL的增量恢复熟练度远超过其他的知识点,同时也很在意对内的数据库安全,并且每次讲课讲到此处,都会给学生讲这个领导的故事。 1、mysql帮助说明 [oldboy_c64 ~]# mysql --help|grep dummy       -U, --i-am-a-dummy Synonym for option --safe-updates, -U. i-am ...
概念: 退款期限,交易,交易关闭,交易结束,掉单,幂等性,数据一致性 关键词: 历史记录不得直接篡改原则, 交易关闭通知处理,退款处理结束通知, 掉单被动处理,掉单主动处理, 多个渠道的重复支付处理, 支付成功时商品不可售卖的处理, 订单金额变化交易流水号变化规则, 推送订单不得包含违禁词, 支付通知并发到达的处理, 支付子系统的独立性和可靠性, 补录数据的时间准则 一. 通用规则 1.1. 历史记录不得直接篡改 电商核心服务基本都是分布式应用,分布式事务如处理不妥善,容易产生数据不一致。一旦出现数据不一致,一定要有旁证来修正。 所以数据库中以下关键资源的记录,郑昀提醒您注意,原则上不允许直 ...
关键词: 会话串号,Cache-Control头域,缓存穿透,缓存集体失效,缓存重建,缓存雪崩,缓存永不过期,缓存计数器, 二,缓存策略   这里的“缓存”概念不只限于服务器端的“缓存”。 2.1.防会话串号   如果你收到一个投诉,说访问“我的个人中心”页面时进入其他人的帐号,至少订单列表上显示的不是自己的。此时,技术支持人员可以提三个问题,第一,对页面上显示的信息是否有操作权限,如取消订单;第二,浏览器地址栏上给URL增加访问参数,如追加一个&111之类的字符串,看看页面是否还是显示别人的信息;第三,投诉者上网接入方式是什么,如铁通光纤宽带,如通过某款代理软件上网。   如果 ...
写在前面的话: 在慢查优化1和2里都反复强调过 explain 的重要性,但有时候肉眼看不出 explain 结果如何指导优化,这时候还需要有一些其他基础知识的佐助,甚至需要了解 MySQL 实现原理,如子查询慢查优化。 看到 SQL 执行计划中 select_type 字段中出现“DEPENDENT SUBQUERY”时,要打起精神了! ——MySQL 的子查询为什么有时候很糟糕—— 引子:这样的子查询为什么这么慢? 下面的例子是一个慢查,线上执行时间相当夸张。为什么呢? SELECT gid,COUNT(id) as count FROM shop_goods g1 WHERE statu ...
写在前面的话: 之前曾说过“不要求每个人一定理解 联表查询(join/left join/inner join等)时的mysql运算过程”,但对于字段选择性差意味着什么,组合索引字段顺序意味着什么,要求每个人必须了解; 重复上一次的话:把mysql客户端(如SQLyog,如HeidiSQL)放在桌面上,时不时拿出来 explain 一把,这是一种美德! 确保亲手查过SQL的执行计划,一定要注意看执行计划里的 possible_keys、key和rows这三个值,让影响行数尽量少,保证使用到正确的索引,减少不必要的Using temporary/Using filesort; 不要在选择性非常差的 ...
在实例讲解之前,我们先回顾一下联表查询的基础知识。 ——联表查询的基础知识—— 引子:为什么第一个查询using temporary,第二个查询不用临时表呢? 下面两个查询,它们只差了一个order by,效果却迥然不同。 第一个查询: EXPLAIN extended SELECT ads.id FROM ads, city WHERE    city.city_id = 8005    AND ads.status = 'online'    AND city.ads_id=ads.id ORDER BY ads.id desc 执行计划为:     id  se ...
提纲: Web访问安全 缓存策略 存储介质连接池 业务降级 并发请求的处理 关键词: Session Hijacking,XSS(Cross Site Scripting),SQLi(SQL Injection),CSRF(Cross-Site Request Forgery),FormHash,Rate Limits,平行权限 一,Web访问安全 1.1.利用 F ...
MySql数据库导出csv文件命令: mysql> select first_name,last_name,email from account into outfile 'e://output1.csv' fields terminated by ','optionally enclosed by ''lines terminated by '/n'; csv文件效果: sunny Grigoryan lovechoosesun@gmail.com Jon Siegal sun@riliantec ...
Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。 Tomcat是稳固的独立的Web服务器与Servlet Container,不过,其Web服务器的功能则不如许多更健全的Web服务器完整,如Apache Web服务器(举例来说,Tomcat没有大量的选择性模块)。不过,Tomcat是自由的开源软件,而且有许多高手致力于其发展。 在安装Tomcat之前需要安装j2sdk(Java 2 So ...
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat ...
今天需要更新下服务器中mysql字段,进入phpmyadmin,发现无法导入数据,也不能查询,查询有如下报错: 错误SQL 查询:编辑SHOWFULLFIELDSFROM`表`FROM`数据库`; MySQL 返回: #1030 - Got error 28 from storage engine 根据返回值,可以判断应该是某挂在分区空间已满造成。 [root@websites ~]# df -lh Filesystem            容量  已用 可用 已用% 挂载点 /dev/mapper/VolGroup00-LogVol00                        ...
T omcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 JAVA_OPTS 参数。 1.JAVA_OPTS参数说明 Java代码  -server  启用jdk 的 server 版;  -Xms    java虚拟机初始化时的最小内存;  -Xmx   java虚拟机可使用的最大内存;  -XX:PermSize    内存永久保留区域  -XX:MaxPermSize   内存最大永久保留区域   服务器参数配置 现公司服务器内存一般都可以加到最大2G ,所以可以采取以下配置: Java代码  ...
基本格式 : *  *  *  *  *  command 分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天 ...
Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上了,下载地址: http://subversion.apache.org/packages.html 这是二进制文件包的下载地址,你可在左侧的导航栏找到源代码,文档的下载地址. windows操作系统下面的二进制文件包一共有5种,如图: 个人认为最好用VisualSVN server 服务端和 TortoiseSVN客户端搭配使用. 点开上面的VisualSVN连接,下载VisualSVN server,如图: ...
Global site tag (gtag.js) - Google Analytics