High.Performance.MySQL中的MySQL’s Logical Architecture节讲述的就是有三种锁的级别:页级、表级、行级:
http://www.chinaz.com/Program/Mysql/1111442M2008.html

MySQL中InnoDB和MyISAM类型的差别:
http://www.chinaz.com/Program/Mysql/11054332H008.html

里面内容:
注意的是,当count(*)语句包含 where条件时,两种表的操作是一样的。验证了朱彦斌两个实用的Mysql技巧:    
innodb表如何更快得到count(*)结果
    http://www.imysql.cn/2008_06_24_speedup_innodb_count


.DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除。
证明了为何数据库删除后还是那么大小!

InnoDB表的行锁也不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范围,InnoDB表同样会锁全表,例如update table set num=1 where name like “%aaa%”
    解决/usr/bin/ld: cannot find -lmysqlclient错误 27. 10. 类似/usr/bin/ld: cannot find -xxxx的错误有很多, 首先我们可以最简单的判断一下: 这类情况一般是由于缺乏某某库文件, 又或者可能是由于已存在的库问题版本不对造成的 一般都是解决的办法就是安装缺乏的devel包就可以解决, 当然还有其他的未知因素, 我们看一个实例: 我在一台装centos5.2 x86_64的系统上配置php环境, 提示这个错误 "/usr/bin/ld: cannot find -lmysqlclient" 于是我安装了 #  yum -y install mysql-devel!
       手机视频广告,用PHP发送视频广告,需要通过PHP执行一个外部发送视频命令。

       可以写PHP扩展来完成,本人没有那个能力及时间,故使用exec()这个函数来完成。

       passthru(),exec(),system() 这三个函数功能相似.passthru无法接受输出值,system只接收最后以行输出,exec可以完全接收输出.阅读全文
    阅读全文
    C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为带面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。
从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这个愚蠢的问题吗?如要你答出某个字符的ASCII值。这些问题着重考察你的系统调用和内存分配策略方面的能力吗?这标志着出题者也许花时间在微机上而不上在嵌入式系统上。如果上述任何问题的答案是“是”的话,那么我知道我得认真考虑我是否应该去做这份工作。
从面试者的角度来讲,一个测试也许能从多方面揭示应试者的素质:最基本的,你能了解应试者C语言的水平。不管怎么样,看一下这人如何回答他不会的问题也是满有趣。应试者是以好的直觉做出明智的选择,还是只是瞎蒙呢?当应试者在某个问题上卡住时是找借口呢,还是表现出对问题的真正的好奇心,把这看成学习的机会呢?我发现这些信息与他们的测试成绩一样有用。
有了这些想法,我决定出一些真正针对嵌入式系统的考题,希望这些令人头痛的考题能给正在找工作的人一点帮住。这些问题都是我这些年实际碰到的。其中有些题很难,但它们应该都能给你一点启迪。
这个测试适于不同水平的应试者,大多数初级水平的应试者的成绩会很差,经验丰富的程序员应该有很好的成绩。为了让你能自己决定某些问题的偏好,每个问题没有分配分数,如果选择这些考题为你所用,请自行按你的意思分配分数。
预处理器(Preprocessor)
1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)阅读全文

    用一片DS18B20构成测温系统,测量的温度精度达到0.1度,测量的温度的范围在-20度到+100度之间,用8位数码管显示出来。

阅读全文
做为技术人员,大家都觉得工资高,工作稳定,还能学到很多的东西。是大部份走出校门或性格内向,或希望过平静生活的人的必然选择。其实,你们有没有问过自己,这条路到底走对了吗?
      一个刚毕业的大学生,从事销售和从事技术两种不同的工作,可能工资的差距会达到数倍之远。对于初出校门的人来说,不无一种极端的诱惑力。刚毕业的年青人,当然会果断的选择技术之路。
      两年后,我们再看看,由于经验的积累,做业务的积累了部份客户资源,做技术的积累了好的经验,在各自的领域内都大展开了手脚,收入也基本接近了。
      再以后呢,技术之路越来越难走,毕竟做技术需要的大量的时间和精力,否则就跟不上现在时代的技术更新了,做业务的呢,客户群越来越大,经验越来越丰富,谁的收入会更高?
      两种不同的职业,它们有着各自不同的特点,技术行业是个撑不死,饱不了的地方,而销售行业则是没有尽头的发展之路。
       过了三十岁,大家会选择什么呢,结婚、生子,人生的一条老路,做技术的大多都成为了技术部门的负责人,职位不错;做销售的呢?可能还是个业务员,毕竟做大量的业务都集中在少数人手里。古往今来,财富的集中是如此的相似!但是观察两个职业成功人士的比较,是不是相差太远了?
      学到死,做到死、发不了财的技术,有什么值得人留恋的!
      到了三十岁,你还有自信面对繁重的工作吗?你有刚出社会的人的活力吗?你能和他们比工作时间,玩命地在老板面前表现吗?你能丢下妻儿出差一、两个月吗?能被小你十来岁的小孩命令来命令去吗?
      我不能。。。。。。
      有人会说,我有了技术!
      技术经验是什么?一些老的,过去了的东西,他代表着你所留恋的过去,你所放不下的那一部份,你会以经验来判别事物,选择工作方法。在新老技术交替的时间内,经验可以起到承前启后的作用,让你威风八面。可是,你还会用到多少两年以前的经验呢?
      大家所掌握的技术终会过时,脑子僵化的时候总会到来。那时,你何去何从?
      如果你的目标只是买个狗窝,摆个小烟摊,请不要再往下看了。“知足者常乐”也是一种人生的境界,我羡慕那些五台山上的和尚,我做不到!
      到处是高级住宅,我为什么只住10平的小屋?满大街跑的小车,我为什么要天天挤公交?我要为三十岁后不再挤公交车而奋斗!
    
    转型------技术人的必须选择!阅读全文
 今天又要向公司提出辞呈,突然感觉自己一下子苍老许多。在办公室整理自己办公用品的时候,不仅回想自己8年来的职业经历。2000年从国内知名军校毕业后来到北京,在部队研究机关摸爬滚打了5年,自己从一个软件研发人员逐步成为对广电网络、互联网以及多媒体行业的专家。军队工作期间,我读了研究生,这一段时间是我感到最为幸福的时间。

  全身心的学习,弥补自己知识的欠缺,使自己在理论上逐步形成了对网络、媒体的体系,并逐渐形成了自己的观点。我是一个不肯服输,不愿随大流的人。这种性格加上对技术的盲目崇拜,使我依然决定离开那个“悠闲、轻松”的部队大院,只身闯荡江湖。

  研究生期间,我去过外企、国企。不同环境的磨砺,使我感到比在部队可真是大有用户之地。原本希望转业后月收入能够到5000元以上就好了。没曾想实习期间,就已经到7500元。随后,我在2005年11月加盟到现在的公司,薪金又有了巨大的飞跃。这种变化让我对工作、对人生都存满了向往和力量。

  凭借着自己的热情和类似狂热的工作态度,我逐步从一个算法工程师发展到项目经理,并最终做到了公司技术的高层。自己负责的项目很多,视频搜索就是其中最为重要的一个项目。从立项到现在,3年多时间里,我感到自己从没有放松过,也没有轻松过。产品战略,核心竞争力,应用模式,这些问题从开始到现在一直萦绕在自己耳边。阅读全文
http://www.sydzdiy.com/article/cortrol/0593021534483126_57462.html
http://www.ed-china.com/ART_8800024137_400005_500004_TS_3d50dc0c.HTM

圆转扁 欧规转美规旅游插头 圆孔转扁头 转换插座 意大利转中国:
https://detail.tmall.com/item.htm?spm=a230r.1.14.16.dkZl8s&id=22384259741&cm_id=140105335569ed55e27b&abbucket=15
在Linux下,可以使用tr命令将换行符替换成空格。tr命令用于字符转换或删除,它可以在文本流中对字符进行替换或删除操作。

下面是将换行符替换成空格的tr命令示例:
tr '\n' ' ' < input.txt > output.txt
在这个命令中,input.txt是输入文件的名称,output.txt是输出文件的名称。tr命令会将input.txt中的换行符转换成空格,并将结果写入output.txt。

如果你想直接在终端中执行替换操作,而不生成一个新的文件,可以使用以下命令:

这会将input.txt中的内容输出到终端,并将其中的换行符替换为空格。

请确保替换操作不会影响到你重要的文件,最好在测试文件上先运行以确认结果符合预期。

============================================================
应用-s参数:-s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符
串。
举例:删除空行
文件初始内容:
111111 wanchuyang
22222  wangyang
33333 zhangsan
44444 lisi
[root@pvcent20 chuyang]# tr -s ["\n"] <  test.txt
111111 wanchuyang
22222  wangyang
33333 zhangsan
44444 lisi

小写到大写

[root@pvcent20 chuyang]# tr "[a-z]" "[A-Z]" <  test.txt
111111 WANCHUYANG
22222  WANGYANG
33333 ZHANGSAN
44444 LISI
一、    系统要求

            Freebsd6.2

二、    安装软件

     将以下所需要的软件放在/usr/src/software目录下,没有就自己新建

            httpd-2.0.58.tar.bz2

            php-5.2.0.tar.bz2

            perl-5.8.8

            mysql-5.0.41.tar.gz

            libxml2-2.6.13.tar.gz

            Libconv

            Iconv
阅读全文
我现在是自己做,但我此前有多年在从事软件开发工作,当回过头来想一想自己,觉得特别想对那些初学JAVA/DOT。NET技术的朋友说点心里话,希望你们能从我们的体会中,多少受点启发(也许我说的不好,你不赞同但看在我真心的份上别扔砖头啊).

  一。 在中国你千万不要因为学习技术就可以换来稳定的生活和高的薪水待遇,你千万更不要认为哪些从事 市场开发,跑腿的人,没有前途。

  不知道你是不是知道,咱们中国有相当大的一部分软件公司,他们的软件开发团队都小的可怜,甚至只有1-3个人,连一个项目小组都算不上,而这样的团队却要承担一个软件公司所有的软件开发任务,在软件上线和开发的关键阶段需要团队的成员没日没夜的加班,还需要为测试出的BUG和不能按时提交的软件模块功能而心怀忐忑,有的时候如果你不幸加入现场开发的团队你则需要背井离乡告别你的女友,进行封闭开发,你平时除了编码之外就是吃饭和睡觉(有钱的公司甚至请个保姆为你做饭,以让你节省出更多的时间来投入到工作中,让你一直在那种累了就休息,不累就立即工作的状态)

  更可怕的是,会让你接触的人际关系非常单一,除了有限的技术人员之外你几乎见不到做其他行业工作和职位的人,你的朋友圈子小且单一,甚至破坏你原有的爱情(想象一下,你在外地做现场开发2个月以上,却从没跟女友见过一面的话,你的女友是不是会对你呲牙裂嘴)。

  也许你拿到了所谓的白领的工资,但你却从此失去享受生活的自由,如果你想做技术人员尤其是开发人员,我想你很快就会理解,你多么想在一个地方长期待一段时间,认识一些朋友,多一些生活时间的愿望。阅读全文
http://hi.baidu.com/jinxinxin163/blog/item/6ebce5cbf5bc051bbf09e613.html
http://hi.baidu.com/lifei_cqu/blog/item/60afbbb04a8cfd5208230273.html
http://www.lslnet.com/linux/dosc1/63/linux-413954.htm
http://bbs.chinaunix.net/viewthread.php?tid=976765
原文是Multiple column index vs multiple indexes

对于要经常查询的含量大量数据的数据库,建立索引是非常重要的,建立索引一般都是在where语句用得较多的列上。现在有个问题,如果一个表有多个列需要建立索引,是把所有列建成一个索引,还是对每一个列建一个索引,上篇文章做了一个介绍,这是作者得出的结论,Conclusion: For benchmarked queries we can see Multiple Column index beats Index Merge in all cases when such index can be used. It is also worth to watchout a MySQL may decide not to do Index merge (either intersection or union) but instead do full table scan or access table picking only one index on the pair.意思应该是说对多个列建索引比对每个列分别建索引更有优势,而且要知道索引建立得越多就越占磁盘空间,在更新数据的时候速度会更慢。

这是一个多列索引的问题,这个问题是如何安排列的顺序是至关重要的,比如需要对一个表里面的两个字段uid, rstatus建一个索引,那么索引的顺序是(uid, rstatus)还是(rstatus, uid)呢。在搞清楚如何安排顺序之前先了解一个概念,cardinality:金山的翻译是"集的势",比如,Mytest表有1700条记录,rstatus字段有750个不同的记录,那么就可以说We have a cardinality of 750 for rstatus。总的规则可以说是cardinality越大的字段应该排在索引的第一位就是说索引的位置是(rstatus, uid),因为cardinality越大那么第一次取出来的记录集就越小,再进行第二次查询的次数就越少了。不过这只是对于建两个索引的规则,如果是三个以上就没有那么简单了,具体地看原文,有比较详细的例子。还需要提出的是即使我们建了一个很有效的索引,但是查询优化器也许会选择不用它,如果它会考虑更多因素以决定这个索引是否有足够的效率。

It was also pointed out to me, that even if an efficient multi-column index is created, the query optimizer may choose to never use it. This is
because the optimizer looks at further statistics to determine if the index would be efficient enough or not.



官方文档:http://dev.mysql.com/doc/refman/5.0/en/multiple-column-indexes.html

老外的博客:

http://blog.decaresystems.ie/index.php/2007/05/21/how-to-create-a-successful-multi-column-index-from-first-principals/ 也有比较详细的介绍mysql如何使用联合索引的!

我试了一下将建立联合索引的顺序变化为KEY `u_r` (rstatus,`uid`) 出现:ref  key_len 都有变化,如下:

mysql> explain select * from mytest where uid in (1,2) and rstatus = 1;
+----+-------------+--------+-------+---------------+------+---------+------+------+-------------+
| id | select_type | table  | type  | possible_keys | key  | key_len | ref  | rows | Extra       |
+----+-------------+--------+-------+---------------+------+---------+------+------+-------------+
|  1 | SIMPLE      | mytest | range | u_r           | u_r  | 8       | NULL |    2 | Using where |
+----+-------------+--------+-------+---------------+------+---------+------+------+-------------+
1 row in set (0.03 sec)

mysql> INSERT INTO `mytest` (`id`, `uid`, `rstatus`) VALUES(null, 3, 1);
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO `mytest` (`id`, `uid`, `rstatus`) VALUES(null, 4, 1);
Query OK, 1 row affected (0.00 sec)

mysql> explain select * from mytest where uid in (1,2) and rstatus = 1;
+----+-------------+--------+-------+---------------+------+---------+------+------+-------------+
| id | select_type | table  | type  | possible_keys | key  | key_len | ref  | rows | Extra       |
+----+-------------+--------+-------+---------------+------+---------+------+------+-------------+
|  1 | SIMPLE      | mytest | range | u_r           | u_r  | 8       | NULL |    2 | Using where |
+----+-------------+--------+-------+---------------+------+---------+------+------+-------------+
1 row in set (0.00 sec)

mysql> explain select * from mytest where uid in (3,4) and rstatus = 1;
+----+-------------+--------+------+---------------+------+---------+-------+------+-------------+
| id | select_type | table  | type | possible_keys | key  | key_len | ref   | rows | Extra       |
+----+-------------+--------+------+---------------+------+---------+-------+------+-------------+
|  1 | SIMPLE      | mytest | ref  | u_r           | u_r  | 4       | const |    1 | Using where |
+----+-------------+--------+------+---------------+------+---------+-------+------+-------------+
1 row in set (0.00 sec)

老外原文:

Conclusion: For benchmarked queries we can see Multiple Column index beats Index Merge in all cases when such index can be used. It is also worth to watchout a MySQL may decide not to do Index merge (either intersection or union) but instead do full table scan or access table picking only one index on the pair.



   我估计是对多个列建索引比对每个列分别建索引更有优势,mysql会根据最好的平均效率选取需不需要索引,如Mysql分析发现不用索引更快那就不必用到索引了!

in适用于外表大内表小的情况!与数据的多少也很有关系的!

分页: 264/339 第一页 上页 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 下页 最后页 [ 显示模式: 摘要 | 列表 ]