PHP程序员如何做好MySQL数据库优化

PHP程序员如何做好MySQL数据库优化1.使用MyISAM而不是InnoDB MySQL有很多数据库引擎,但是你最可能碰到的就是MyISAM和InnoDB。 MySQL默认使用的是MyISAM。但是,很多情况下这都是一个很糟糕的选择,除…

PHP程序员如何做好MySQL数据库优化

1.使用MyISAM而不是InnoDB

MySQL有很多数据库引擎,但是你最可能碰到的就是MyISAM和InnoDB。 MySQL默认使用的是MyISAM。但是,很多情况下这都是一个很糟糕的选择,除非你在创建一个非常简单抑或实验性的数据库。

外键约束或者事务处理对于数据完整性是非常重要的,但MyISAM都不支持这些。另外,当有一条记录在插入或者更新时,整个数据表都被锁定了,当使用量增加的时候这会产生非常差的运行效率。 结论很简单:使用InnoDB。

2.使用PHP的mysql函数

PHP 自产生之日就提供了MySQL库函数(or near as makes no difference)。很多应用仍然在使用类似mysql_connect、mysql_query、mysql_fetch_assoc等的函数,尽 管PHP手册上说:如果你在使用MySQL v4.1.3或者更新版本,强烈推荐使用您使用mysql展。

mysqli(MySQL的加强版扩展)有以下几个优点:

可选的面向对象接口

prepared表达式,这有利于阻止SQL注入攻击,还能提高性能

支持更多的表达式和事务处理

另外,如果你想支持多种数据库系统,你还可以考虑PDO。

3.没有处理用户输入

这或者可以这样说#1:永远不要相信用户的输入。用服务器端的PHP验证每个字符串,不要寄希望与JavaScript。

最简单的SQL注入攻击会利用如下的代码:

$username = $_POST[“”name””]; $password = $_POST[“”password””]; $sql = “”SELECT userid FROM usertable WHERE username=”$username” AND password=”$password”;””; // run query…

只要在username字段输入“admin”;–”,这样就会被黑到,相应的SQL语句如下:

SELECT userid FROM usertable WHERE username=”admin”;

狡猾的黑客可以以admin登录,他们不需要知道密码,因为密码段被注释掉了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7711.html

(0)
上一篇 2023-03-15
下一篇 2023-03-15

相关推荐

  • mysqldump 备份恢复_sql2003数据库备份恢复

    mysqldump 备份恢复_sql2003数据库备份恢复场景一 昨天凌晨2点做过一次完全备份,白天正常使用,该下班的时候,好巧啊!硬盘坏了。不过幸运的是做过备份并且二进制日志和数据库分开存放 1、建立数据库并开启二进制日志 建立用于存放二进制日志的文件夹…

    2023-03-03
    136
  • python-sql语句集体更改数据

    python-sql语句集体更改数据字段的批量替换 update table set 字段A=replace(字段A,’jpg’,’png’); 批量拼接字符串到某字段 update 表名 set 字段A = concat( 字段A …

    2023-03-30
    154
  • 数据库对应EFCore操作

    数据库对应EFCore操作#数据库对应EFCore操作 #1,查某个id在某个集合被包含的数据 例如: 查 Id 在ids里的结合 //实现的sql是实体Id in ids,也就是ids跟Id 两个集合的交集 var _ain

    2023-03-25
    150
  • 使用Python字符串扩充标题

    使用Python字符串扩充标题在许多编程应用中,标题是必不可少的一个组成部分,无论是在GUI程序的窗口标题栏中,还是在文档或网站的主题中,其作用都是十分重要的。然而,在有些情况下,我们需要增加标题的变化和特效来提高页面的吸引力和用户友好性。比如,当我们希望将标题的字体变得更大或更小,或者需要在标题的两边添加特殊字符,这时使用Python字符串来扩充标题就变得尤为重要。

    2024-09-16
    22
  • 利用Python的Expat库解析XML数据

    利用Python的Expat库解析XML数据a href=”https://beian.miit.gov.cn/”苏ICP备2023018380号-1/a Copyright www.python100.com .Some Rights Reserved.

    2024-03-01
    102
  • 检查Python字符串是否以指定字符结尾

    检查Python字符串是否以指定字符结尾Python字符串提供了endsWith()方法来验证字符串是否以指定字符结尾。此方法通常用于检查文件名是否符合扩展名。

    2024-02-06
    86
  • 使用jsfilter函数的有效性

    使用jsfilter函数的有效性在前端开发中,为了保证网站安全性,常常需要对用户输入的数据进行过滤和转换。jsfilter函数是其中常用的一种,它可以进行HTML或者JavaScript转义操作,有效防止XSS攻击和代码注入等问题。本文将从多个方面探讨jsfilter函数的有效性。

    2024-05-09
    85
  • Python文件处理:简单实用的i/o操作

    Python文件处理:简单实用的i/o操作a href=”https://beian.miit.gov.cn/”苏ICP备2023018380号-1/a Copyright www.python100.com .Some Rights Reserved.

    2024-03-11
    80

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注