摘要: SQL总结(五)存储过程 概念 存储过程(Stored Procedure):已预编译为一个可执行过程的一个或多个SQL语句。  创建存储过程语法 CREATE proc | procedure procedure_name [{@参数数据类型} [=默认值] [output], {@参数 阅读全文
posted @ 2018-06-11 18:09 星朝 阅读(258) 评论(0) 推荐(0)
摘要: 上一篇文章《万字总结:学习MySQL优化原理,这一篇就够了!》文末给大家留有两个开放的问题:   有非常多的程序员在分享时都会抛出这样一个观点:尽可能不要使用存储过程,存储过程非常不容易维护,也会增加使用成本,应该把业务逻辑放到客户端。既然客户端都能干这些事,那为什么还要存储过程? JOI 阅读全文
posted @ 2018-06-11 17:35 星朝 阅读(466) 评论(0) 推荐(0)
摘要: 一、一个例子 数据库需要处理的行数: 189444 1877 13482~~~479亿 如果在关联字段上加上合适的索引: 数据库需要处理的行数:368006 1 3 1~~~110万 MySQL通常是一个请求对应一个线程,其thread_handling是one thread per connect 阅读全文
posted @ 2018-06-11 16:36 星朝 阅读(1571) 评论(0) 推荐(0)
摘要: SQL优化的思路:  1.优化更需要优化的sql;  2.定位优化对象的性能瓶颈:优化前需了解查询的瓶颈是IO还是CPU,可通过PROFILING很容易定位查询的瓶颈。  3.明确优化目标;  4.从Explain入手;  5.多使用profile; 阅读全文
posted @ 2018-06-11 16:35 星朝 阅读(4327) 评论(0) 推荐(0)
摘要: 说起MySQL的查询优化,相信大家收藏了一堆奇淫技巧:不能使用SELECT 、不使用NULL字段、合理创建索引、为字段选择合适的数据类型….. 你是否真的理解这些优化技巧?是否理解其背后的工作原理?在实际场景下性能真有提升吗?我想未必。因而理解这些优化建议背后的原理就尤为重要,希望本文能让你重新审视 阅读全文
posted @ 2018-06-11 16:26 星朝 阅读(338) 评论(0) 推荐(1)
摘要: 一、用SQL自连接查询处理列之间的关系 SQL自身连接,可以解决很多问题。下面举的一个例子,就是使用了SQL自身连接,它解决了列与列之间的逻辑关系问题,准确的讲是列与列之间的层次关系。SQL代码如下: 1 SELECT FIRST.CNumber, SECOND.PCNumber 2 FROM Co 阅读全文
posted @ 2018-06-11 15:56 星朝 阅读(15490) 评论(0) 推荐(1)
摘要: 一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用 系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目前系统需要解决的最主要的问题之一。系统优化中一个很重要的方面就是SQL 阅读全文
posted @ 2018-06-11 15:48 星朝 阅读(403) 评论(0) 推荐(0)
摘要: 地址:http://code.google.com/p/thumbnailator/ 1、指定大小进行缩放 //size(宽度, 高度) / 若图片横比200小,高比300小,不变 若图片横比200小,高比300大,高缩小到300,图片比例不变 若图片横比200大,高比300小,横缩小到200,图片 阅读全文
posted @ 2018-06-11 15:27 星朝 阅读(565) 评论(0) 推荐(0)
摘要: Thumbnailator是一款不可多得的处理图片的第三方工具包,它写法简单到让人无法相信,Java本身也有处理图片压缩的方法,但是代码冗长到让人痛不欲生,在篇末会给出Java本身的实现方式,做下对比,已体现Thumbnailator的强大。前段时间做分期的一种相对简单的业务,需要传递用户的身份信息 阅读全文
posted @ 2018-06-11 15:23 星朝 阅读(11562) 评论(3) 推荐(1)
摘要: //假设一个for循环 for($i = 0; $i < 10000; $i++) { for ($j = 0; $i < 50; $j++) { } } for($i = 0; $i < 50; $i++) { for ($j = 0; $i < 10000; $j++) 阅读全文
posted @ 2018-06-11 15:10 星朝 阅读(723) 评论(0) 推荐(0)
摘要: 本文不涉及复杂的底层数据结构,通过explain解释SQL,并根据可能出现的情况,来做具体的优化,使千万级表关联查询第一页结果能在2秒内完成(真实业务告警系统优化结果)。   需要优化的查询:使用explain      出现了Using 阅读全文
posted @ 2018-06-11 15:09 星朝 阅读(504) 评论(0) 推荐(0)
摘要: 一、为什么要用小表驱动大表 1、驱动表的定义 当进行多表连接查询时, [驱动表] 的定义为: 1)指定了联接条件时,满足查询条件的记录行数少的表为[驱动表] 2)未指定联接条件时,行数少的表为[驱动表](Important!) 忠告:如果你搞不清楚该让谁做驱动表、谁 join 谁,请让 MySQL 阅读全文
posted @ 2018-06-11 15:08 星朝 阅读(2843) 评论(0) 推荐(1)
摘要: 写在前面 1、不要求每个人一定理解 联表查询(join/left join/inner join等)时的mysql运算过程 2、不要求每个人一定知道线上(现在或未来)哪张表数据量大,哪张表数据量小 3、但把mysql客户端(如SQLyog,如HeidiSQL)放在桌面上,时不时拿出来 explain 阅读全文
posted @ 2018-06-11 14:41 星朝 阅读(1220) 评论(0) 推荐(0)
摘要: 本教程对jetbrains全系列可用例:IDEA、WebStorm、phpstorm、clion等因公司的需求,需要做一个爬取最近上映的电影、列车号、航班号、机场、车站等信息,所以需要我做一个爬虫项目,当然java也可以做爬虫,但是还是没有python这样方便,所以也开始学习Python啦!!!欲善 阅读全文
posted @ 2018-06-11 14:22 星朝 阅读(2541) 评论(0) 推荐(0)
摘要: 最近没怎么搞SQL优化,碰巧数据库被慢查询搞挂了,于是拿来练练手。 问题 通过「SHOW FULL PROCESSLIST」语句很容易就能查到问题SQL,如下: SELECT post. FROM post INNER JOIN post_tag ON post.id = post_tag.post 阅读全文
posted @ 2018-06-11 10:24 星朝 阅读(444) 评论(0) 推荐(0)