手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表全部文章

MYSQL小技巧

经常在使用MYSQL,那么总是有一些小技巧的,我在这里稍稍介绍一点,这也是日常工作中常用到的。

1、尽量在SQL中对字段使用函数(条件部分)
在WHERE条件中,对字段使用函数的时候,往往就自动放弃了该字段的索引值了。举例:

SQL代码
  1. SELECT * FROM order WHERE YEAR(OrderDate)<2001;  
  2.   
  3. SELECT * FROM order WHERE OrderDate<"2001-01-01";  

第二句会比第一句快很多,数据少可能看不出,数据量超过50W以后将非常明显。

2、尽量在SQL的条件中先取值再比较

SQL代码
  1. SELECT * FROM inventory WHERE Amount/7<24;  
  2.   
  3. SELECT * FROM inventory WHERE Amount<24*7;  

虽然取回来的值都一样,但是。。。第一句是拿字段中的值先进行计算,再比较大小,而第二句却仅仅比较大小,谁快谁慢,一眼便知。

3、在搜索字符型字段时,我们有时会使用 LIKE 关键字和通配符,这种做法虽然简单,但却也是以牺牲系统性能为代价的。(这个我自己没有测过,不能乱讲)。。。
例如下面的查询将会比较表中的每一条记录。

SQL代码
  1. SELECT * FROM books WHERE name like "MySQL%"  

但是如果换用下面的查询,返回的结果一样,但速度就要快上很多:

SQL代码
  1. SELECT * FROM books WHERE name>="MySQL"and name<"MySQM"  

4、应该注意避免在查询中让MySQL进行自动类型转换,因为转换过程也会使索引变得不起作用。

5、为字段选用最恰当的属性

MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的 查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为 CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同样的, 如果可以的话,我们应该使用MEDIUMINT而不是BIGIN来定义整型字段。

 

另外一个提高效率的方法是在可能的情况下,应该尽量把字段设置为NOT NULL,这样在将来执行查询的时候,数据库不用去比较NULL值。

 

对于某些文本字段,例如“省份”或者“性别”,我们可以将它们定义为ENUM类型。因为在MySQL中,ENUM类型被当作数值型数据来处理,而数值型数据被处理起来的速度要比文本类型快得多。这样,我们又可以提高数据库的性能。

6、使用命令复制表时,请先禁止源表中的索引,因为在COPY的过程中,MYSQL会同样复制索引,而不是复制数据后重建索引,因此建议COPY前先禁用,然后COPY完后,为目标表添加相应的索引。

Tags: mysql, 技巧

PHP 5.0 中多态性的实现方案浅析

本文来自天极网,但具体网址没有了,因为别人也是转摘,唉。如果有需要,请告诉我链接,我会加上,或者通知我删除本文。谢谢。

原文摘要:
   本文将讨论多态性的概念及其在面向对象设计中的应用,还将分析如何在php5中使用多态性以及存在的优缺点。

PHP的最新发行版本中已经实现了对迟绑定的支持。当然,在使用其迟绑定功能时还存在很多问题。如果你使用的是更旧版本的PHP(我的服务器上运行的是 PHP 5.0.1版本),那么你可能发现其中缺乏对于迟绑定的支持。因此,请注意本文中的代码有可能无法工作在你特定的PHP 5版本中。

» 阅读全文

Tags: 天极, 多态, 讨论

一些看似简单却容易被忽视的小技巧

在工作中我总是会发现有些人的程序里有些不妨碍程序正常执行的小问题,并且很多人都常常愿意这样写,下面我列举一下

1.php属于弱语言,所以在使用一个变量的时候,不需要为其指定变量类型和初始化值,但是我强烈建议在使用一个变量前,先为其初始化一个默认值,这样既安全又规范

2.
if (条件表达式1 && 条件表达式2)
//do something
else
//do something
?>

当进行与运算操作的时候,最好把最可能返回"False"的表达式放在操作的前面,这样当if条件遇到false后,就不在执行false以后的运算了,这样加快程序的执行速度,但是要注意一点的是false以后的条件表达式如果是个赋值的表达式,例如:


$a = 1;
$b = 0;
if (($a > 1) && ($b = 2))
?>

这段程序在$a > 1这个地方就执行完了,$b = 2的赋值操作将不再执行,结果$b的值还是0.


3.在使用mysql数据库的时候,执行"select count"操作的时候,尽量使用count(*)而不是count(一个字段),count(*)会直接使用索引文件进行统计(inndb类型的表除外)而不是去遍历整个数据表

4.在使用group by的时候,如果没有必要对返回结果集合进行排序,建议加上"order by null",这样会减少一步排序的操作

5.为table建立复合索引的时候,比如"name-city-age"这个索引,这个索引是由表中的字段name,city,age组成的,虽然我们 只为这张表建立了一个索引,但其实...嘿嘿嘿...这是三个索引,恩,哪三个索引呢...name,name-city,name-city-age这 三个索引,请注意,复合索引遵循的是最左原则,所以name-age,city-age将不会使用索引...

6.在建索引的时候,如果能保证这个(复合)索引的字段(组合)的值肯定是唯一值,那么就把这个(复合)索引建成唯一索引...

取自abetterday的博客:http://www.phpwap.cn/?action=articleContent&articleId=153

Tags: 技巧, 忽略, 简单, php

[备查]宝宝拉肚子原因与治疗

宝宝拉肚子腹泻的原因及治疗

来源:http://blog.ci123.com/yy-bb/entry/25278

婴儿怎样才算拉肚子

  婴儿腹泻是多由饮食不当或肠道内、外感染所引起的一种消化道功能紊乱综合症,多发生在2岁以下婴儿。 婴儿喂食母乳时,正常每天大便次数会比喂食牛奶多一至二次,为黄绿色糊便;而喂食牛奶者,则为黄色成形便。腹泻则是指粪便中水分增加,且大便成分变质而 言。一般而言,腹泻时大便的次数会增加、水分增加、大便颜色变成绿色、气酸臭。
主要症状有: 1、轻症:每天大便五至八次,可能伴随着轻微发烧或呕吐。粪便呈黄绿色,带粘液且呈蛋花汤样,并伴有轻微腹胀,肠鸣音亢进。 2、中度腹泻:每天大便十次,稀水便、气味酸且臭,可能中度发烧。 3、重症:腹泻频繁,每天大便八至十五次,呈水样、量多,有酸臭味,烦躁、嗜睡、萎靡,甚至昏迷、惊厥,血丝黏液便,前囟门凹陷,皮肤及嘴唇干燥等。 4、部分患者可出现明显脱水、酸中毒、电解质紊乱,如低钾或低镁等。

  婴儿拉肚子的原因

  造成拉肚子的原因很多,可能是由于感染引起肠胃炎、吃入不洁的食物和水、奶瓶消毒不当、牛奶浓度不对、饮食过量或精神紧张等等。 一岁以内的婴儿腹泻发病率很高,这是因为婴儿消化功能不成熟,发育又快,所需热量和营养物质多,一旦喂养或护理不当,就容易发生腹泻。 常见的腹泻原因有:进食量过多,或次数过多,加重了胃肠道的负担;喂的质量不当,使食物不能完全被消化;或喂养不定时,胃肠道不能形成定时分泌消化液的条 件反射,使机体消化功能降低;还有母亲喂养期间尽量避免吃凉的食物等。总之,不合理的喂养时婴儿腹泻的主要原因。另外,当小儿着凉,患感冒、肺炎等疾病 时,也可引起消化道功能紊乱而发生腹泻。 如果腹泻严重,伴有呕吐发烧、眼窝凹陷、口渴、口唇发干、尿少,就说明已经引起脱水了,应该去医院输液治疗。为防止脱水,应在腹泻次数较多时,食量减少饮 食,甚至禁食,使胃肠道得到休息。同时口服补液盐或自配糖烟水、盐米汤,少量多次,以防止脱水发生。 患腹泻的孩子要注意腹部保暖,以减少肠蠕动,可以用毛巾裹腹部或热水袋热敷腹部,同时让婴儿多休息。排便后可用温水清洗臀部,防止臀红发生。

  婴儿拉肚子怎么办

  宝宝腹泻以夏、秋季节多见,其发病原因除肠胃道受细菌感染外,主要是由于喂养不当、天气太热或突然着凉等。如果未按时添加辅食或喂养不定时,一旦食物变化 较多,小儿肠道不能适应,也会引起消化不良而使宝宝腹泻。不论哪种原因的腹泻,宝宝每日大便次数可达4、5次乃至十几次,常伴有恶心、呕吐、食欲下降或拒 食的现象。   

  宝宝腹泻时的一般饮食原则是,减少膳食量以减轻肠道负担,限制脂防及碳水化合物,给宝宝以清淡饮食,以利于其肠道修复。   

  用母乳喂养的宝宝,腹泻时不必停止喂奶,只需适当减少喂奶量,缩短喂奶时间,并延长喂奶间隔。母亲也应少食脂肪类食物,每次喂奶前,可喝一大碗开水, 稀释母乳,有利于减轻宝宝腹泻症状。人工喂养或混合喂养的宝宝,在腹泻时,不要添加新的辅助食品。病情较重时,还应暂时停止喂牛奶等主食。禁食时间一般为 6-8小时为宜,最长不能超过12小时。禁食期间,可用胡萝卜汤、苹果泥、米汤等来喂宝宝,以补充无机盐及维生素,这些食物易于消化,能减轻肠胃的负担。   

  目前世界卫生组织向各国推荐口服补液盐,可以按其说明配成液体,根据宝宝的腹泻情况分多次予以添加。只要注意充分补充水分,一般宝宝都可安全度过腹泻 期。   

  如果宝宝腹泻次数较多,或出现口唇干燥、两眼凹陷、面色发灰、尿量减少及皮肤失去弹性等现象时,显示宝宝有脱水迹象,应立即送医院诊治。

  婴儿拉肚子的治疗

  1、及时给腹泻婴儿用口服液补盐。
2、不要要求医生开很多控制腹泻的药物。因为腹泻原因复杂,用药不当有害无益。
3、注意腹泻患儿的饮食,不一定要禁食,选喂容易消化的食物。
4、腹泻严重者,应及时送医院治疗。 

  婴儿拉肚子饮食调节

  送大便到医院化验,如果是感染性腹泻,用抗感染药物,如果是非感染性腹泻,可:   
①调整及控制饮食:给予消化道适当休息,减轻其负担。可以暂停添加辅食及不易消化的食物。适当减少哺乳量及哺乳次数或延长两次哺乳之间的时间。
②母乳喂养的母亲在婴儿腹泻期间饮食要清淡一些,喂奶前饮用温开水一碗,切勿轻易断母乳。在喂奶时尽量让婴儿吃前部分易消化的母乳,避免吃最后部分含 脂肪较多的母乳。
③人工喂养的婴儿应吃脱脂奶粉或将牛奶烧开冷却后去掉上面的脂肪,如此烧煮反复脱脂3次就成了脱脂奶。腹泻较重者,要减少奶量并用水稀释。可用1份牛 乳加1/2份水或l/2份米汤,必要时可用l份牛乳加l份水或米汤稀释。待婴儿腹泻好转后逐渐增加直至全奶。
④腹泻而脱水者要补充体内丧失的水分,可采用世界卫生组织推荐的“口服补液”(药房有售,其中包括食盐即氯化钠3.5克、氯化钾1.5克、葡萄糖20 克、碳酸氢纳1.5克,加温开水1000毫升,约4玻璃杯)其成分比例合理,有利于吸收,喂服时用茶匙一匙一匙吃,少量多次才能使胃内眼收。
若在偏僻地区买不到“口服补液”时,可以在家庭里自制简易口服液。配方是:食盐1/2茶匙,蔗糖2汤匙,加开水4玻璃杯。口服补液是最经济、最有效的 防治方法。喂服得当,可以使婴儿停止呕吐,减少腹泻,及早康复。
⑤消化不良者如仅有轻度腹泻,不需用药物止泻,只需采用以下几种方法,也可获得痊愈。
服用胡萝卜汤,每日2次~3次,每次2汤匙~3汤匙;服用苹果泥(取苹果一只洗净去皮去核,切成小块,放入碗内加少量白糖隔水蒸,蒸熟后捣拦成泥状服 用)。因胡萝卜和苹果含有果胶,能使大便成形,并且还能吸附肠内的有害物质,帮助治愈腹泻。
鱼蛋白粉加入米汤内服用,每日5克,分1次~2次服用。半岁以上的婴儿可服用鱼蛋白粉粥或烂面条。由于鱼蛋白粉内蛋白质质量高,脂肪量低,而且没有乳 糖,对婴儿腹泻特别有利。轻型腹泻一般服用3日~5日就痊愈。
焦米汤和焦米粥是用米或米粉加水煮成。可以少量多次喂服。由于米内含碳水化合物,最容易消化吸收,而且没有乳糖也不易发酵、胀气,米内所含的蛋白质不发生过敏反应。焦的部分能吸附有害物质,对控制腹泻很有利。
山楂炭或炮姜炭是将山楂去核或炮姜去皮,然后炒成炭,研成细末。服用时每次用0.3克-0.6克,日服3次,用温开水化服,可加少许白糖调昧。山楂能 帮助消化,生姜能解毒,对腹泻的防治有利。
维生素B1、维生素C、乳酶生每日服3次,每次各1片,研碎和水拌匀喂服,可在服“口服补液”的同时加服。因为维生素Bl能促进糖类完成代谢过程,不 使积酸发气,维生素C能增加抵抗力,乳酶生能帮助消化乳类。它们都是控制腹泻时常用的药。
⑥腹泻时大便次数增多,要及时换尿布。每次大便后要用温水洗净臀部,擦干并涂上护肤油脂或爽身粉,以防臀部糜烂发生“红臀”。
⑦注意腹部保暖,以免受凉后肠蠕动更快而加重腹泻。

 婴儿拉肚子的食疗方法   

  婴儿腹泻有伤食型、风寒型、湿热型和脾虚型。只有区别不同症状,选择食疗,才能收到预期效果。
伤食型
伤食型腹泻有腹胀腹疼、泻前哭吵、大便酸臭如蛋花状、口臭、不思食等症状,可采用以下食疗:
荠菜汤:取鲜荠菜30克,加水200毫升,文火煎至50毫升,1次服完,每日2~3次。
苹果汤:取苹果1只洗净,连皮切碎,加水250毫升和少量食盐,煎汤代茶饮。适用于1岁以内的儿童,大于1岁者,可吃苹果泥。
风寒型  
风寒型腹泻有大便稀薄如泡沫状、色淡、臭气少、肠鸣腹痛,或伴有发热、鼻塞流涕等症状,可采用以下食疗:
姜茶饮:取绿茶、干姜丝各3克,放在瓷杯中,以沸 水150毫升冲泡,加盖温浸10分钟代茶随意饮服。
糯米固肠汤:糯米30克(略炒),山药15克,共煮粥,熟后加胡椒末少许、白糖适量调服。
湿热型

湿热型
腹泻有大便如水样伴有不消化食物、呈草绿色或黄色、有少量粘液,小便黄少等症状,可采用以下食疗:
乌梅汤:乌梅10只,加水500毫升煎汤,酌加红糖,以之代茶,每日服数次。
橘枣茶:取红枣10只,洗净晾干,放在铁锅内炒焦,取洁净橘皮10克,二味一起放入保温杯内,用沸水浸泡10分钟,饭后代茶饮,每日分2次服。
脾虚型
  脾虚型腹泻有时泻时止,或久泻不愈、大便稀薄或带有白色奶块、食后便泻、面色苍白等症状,可采用以下食疗:
胡萝卜汤:取鲜胡萝卜250克洗净,连皮切成块状,放人锅内,加水适量煎烂,去渣取汁钦.每日分2~3次。
栗子汤:取栗子3~5枚,去壳捣烂,加适量水煮成糊状,再加白糖适量调味,每日分2~3次。

  医生建议
  1、母乳喂养,不宜在夏季断奶。
2、合理安排饮食,讲究卫生、消毒食具。
3、添加辅食时,每次只限一种且渐渐加量。
4、将病人隔离。
5、勤换尿布,观察病情,做好呕吐及腹泻的处理。

  家庭护理经验
1、平时常加用肥皂洗手,养成良好的个人卫生习惯及环境卫生。
2、不使用没有消毒过之地下水、井水或山泉水。
3、不吃生冷食物,食物应充分煮熟并以热食为宜。
4、注意奶瓶消毒及食物保存方式。
5、给予安静舒适的环境。
6、注意宝宝体温变化,测量体温时宜用腋下测温或量耳温,避免由***测温以减少刺激。
7、观察宝宝脸部表情、皮肤紧张度及干燥度、排尿情形、意识状态。
8、观察大便的颜色、性质、量、气味、次数。
9、注意排泄物及换洗衣物的处理,预防传染他人。
10、常换尿布、大便后用温水洗净,保持臀部清洁干燥,避免红臀产生。
11、补充水分及电解质。
12、可
将最近一次的大便带来给医师看,以帮助医师论断。
13、配合医师的指示服药、禁食及饮食指导。

另有一剂偏方(不适合每一个人):

  我生宝宝时,医院的医生曾告诉我宝宝拉肚子时熬萝卜水给他喝,后来女儿拉肚子只要不严重我都给她喝萝卜水,很管用,而且没有副作用.记住不能用胡萝卜,用青萝卜或红萝卜都行,熬出来有点甜,小孩喜欢喝.

Tags: 拉肚子, 治疗, 原因, 宝宝, 婴儿

利用imageMagicK制作有背景色的缩略图

原文如下:附本人翻译(翻译水平其差,可以忽略直接看英文)

原文网址:http://valokuva.org/?p=92
  1. I know, it's been a while since I last blogged. This is because a lot of things are happening in my personal life. I recently relocated to London from Finland and started a new job. Things are quite busy but I will try to post an example now and then. In the meanwhile I would like to hear about sites using Imagick, so if your project is not super secret please post an url and maybe a small explanation what you're doing with Imagick on the site. This is purely for my personal interest.
  2. Anyway, to the point. Today's example originates from a question asked by a user. How do I thumbnail the image inside given dimensions proportionally and fill the "blank" areas with a color? Well, the answer is here :)
  3. The code is for Imagick 2.1.0 but adapting to older versions should not be hard.

 

翻译如下:

我知道现在离我的博客更新有一段时间了,这主要是因为最近发生了很多事。最近我找了份新工作,使我从芬兰搬到了伦敦,工作也非常忙,所以我在这里仅仅只发一个示例。同时我很高兴听到很多网站使用了imagick,我也希望如果您的项目不是很保密的话,是否能够发个链接及少量的注释以说明您的站点是如何使用Imagek的。顺便说一声,这完全是我个人的兴趣。

OK,上重头菜。今天的例子起源于一个用户的问题,那就是如果在为一张图片按比例做缩略图的时候,怎么为留空的地方用其他颜色填充。这个例子就是我的回复。

代码是FOR ImagicK 2.1.0版本,当然要改成以前的老版本代码也不是件难事。

下面就是代码了:

PHP代码
  1. <?php  
  2. /* Define width and height of the thumbnail */ 
  3. /* 定义缩略图的长宽*/
  4. $width = 100;  
  5. $height = 100; 

  6. /* Instanciate and read the image in */ 
  7. /*创建一个对象,同时读回源图*/
  8. $im = new Imagick( "test.png" );  
  9. /* Fit the image into $width x $height box 
  10. The third parameter fits the image into a "bounding box" */ 
  11. /*按照比例进行缩放*/
  12. $im->thumbnailImage( $width$height, true );  
  13. /* 按照缩略图大小创建一个有颜色的图片 */  
  14. $canvas = new Imagick();  
  15. $canvas->newImage( $width$height'pink''png' );  
  16. /* 取得缩图的实际大小 */  
  17. $geometry = $im->getImageGeometry();  
  18. /* 计算高度 */  
  19. $x = ( $width - $geometry['width'] ) / 2;  
  20. $y = ( $height - $geometry['height'] ) / 2;  
  21. /* 合并图片  */  
  22. $canvas->compositeImage( $im, imagick::COMPOSITE_OVER, $x$y );  
  23. /* 输出图片*/  
  24. header( "Content-Type: image/png" );  
  25. echo $canvas;  
  26. ?>  

 膘叔,上图片

源图:

大小: 320.67 K
尺寸: 300 x 198
浏览: 1617 次
点击打开新窗口浏览全图

缩图:

大小: 35.55 K
尺寸: 100 x 100
浏览: 1663 次
点击打开新窗口浏览全图

 

Tags: php, imagemagick, magicwand, thumbnail