php开发有哪些难点?
php开发中遇到的难点:
1、使用myisam而不是innodb
myisam是默认使用的。但是除非你是建立一个非常简单的数据库或者只是实验性的,那么到大多数时候这个选择是错误的。myisam不支持外键的约束,这是保证数据完整性的精华所在啊。另外,myisam会在添加或者更新数据的时候将整个表锁住,这在以后的扩展性能上会有很大的问题。
2、使用php的mysql方法
php从一开始就提供了mysql的函数库。很多程序都依赖于mysql_connect、mysql_query、mysql_fetch_assoc等等。
3、不过滤用户输入
应该是:永远别相信用户的输入。用后端的php来校验过滤每一条输入的信息,不要相信java。
4、不使用utf-8
utf-8解决了很多国际化的问题。虽然php6才能比较完美的解决这个问题,但是也不妨碍你将mysql的字符集设置为utf-8。
5、该用sql的地方使用php
如果你刚接触mysql,有时候解决问题的时候可能会先考虑使用你熟悉的语言来解决。这样就可能造成一些浪费和性能比较差的情况。比如:计算平均值的时候不适用mysql原生的avg()方法,而是用php将所有值循环一遍然后累加计算平均值。
6、不优化查询
99%的php性能问题都是数据库造成的,一条糟糕的sql语句可能让你的整个程序都非常慢。mysql的explain statement,query profiler,many other tools的这些工具可以帮你找出那些调皮的select。
7、使用错误的数据类型
mysql提供一系列数字、字符串、时间等的数据类型。如果你想存储日期,那么就是用date或者datetime类型,使用整形或者字符串会让事情更加复杂。
8、在select查询中使用*
不要使用*在表中返回所有的字段,这会非常的慢。你只需要取出你需要的数据字段。如果你需要取出所有的字段,那么可能你的表需要更改了。
9、索引不足或者过度索引
一般来说,应该索引出现在select语句中where后面所有的字段。
10、不备份
也许不常发生,但是数据库损毁,硬盘坏了、服务停止等等,这些都会对数据造成灾难性的破坏。所以你一定要确保自动备份数据或者保存副本。
更多php相关知识,请访问!
以上就是php开发有哪些难点的详细内容。