2

php.netサイトでは、php5以降の隣にmysql4.1を使用する場合は、「MYSQL_」ではなく「MYSQLI_」を極端に使用する必要があると言われています。

彼はただ一つのことを知りたかった、それはサイトのパフォーマンスに影響を与える、データベース(これはどのサーバーでも)のためにサイトに関するいくつかの問題がダウンしている。

すでにさまざまなソリューションを使用しています。たとえば、CACHEHTMLページ。

しかし、私の疑問は、MYSQLI_ *についてです。これを使用すると、彼女はサーバーと指定されたデータベースに接続します。php.netサイトによると、mysqlmysqliはmysql4.1+を改善および最適化しています。

大きなMySQLiのトラフィックは、サイトのパフォーマンスを向上させるのではないかと思います。

PS:PHPプログラミングとMYSQL4.1 +(新しいタイプの列を持つ)の構造化を考慮に入れると、「mysqli」と「mysql」の違いを知っています。私が知りたいのは、複数の接続についてです。

この質問はパフォーマンスについてです、ありがとう

4

4 に答える 4

3

あなたはこれを読むべきです:

http://blog.secaserver.com/2011/07/php-driver-mysql-mysqli-pdo-mysql/

mysqliは、パフォーマンスの向上と機能の向上を提供します。Evertが述べたように、mysqlndを使用すると特に顕著になります。

于 2012-07-11T20:24:36.690 に答える
2

ここStackOveflowでの一般的なコメントは、mysql_*関数を使用するコードを見るたびに、あなたの質問に答えるはずです。

新しいコードにmysql_*関数を使用しないでください。それらはもはや維持されておらず、コミュニティは非推奨プロセスを開始しています。赤いボックスが表示されますか?代わりに、プリペアドステートメントについて学び、 PDOまたはMySQLiのいずれかを使用する必要があります。決定できない場合は、この記事を選択するのに役立ちます。あなたが学びたいのであれば、ここに良いPDOチュートリアルがあります。

于 2012-07-11T20:23:40.803 に答える
1

はい、MySQLi could give better performance to your site。を使用できますpersistent connections。これは基本的によく知られているものと同じ考え方を共有しますconnection poolingconnection pooling、Java開発で主に使用されますが(通常はWebサーバーによって直接実行されますApache-Tomcat)、永続的な接続はによって管理されMySQL and PHPます。

さらに、MySQLiは、を採用することにより、クエリを保護するのに役立ちますprepared statements

Mysqli extension組み込みのクリーンアップ処理コードを提供します。これには次のものが含まれます。

  • アクティブなトランザクションをロールバックする

  • プリペアドステートメントを閉じる(常にPHPで発生します)

  • 一時テーブルを閉じてドロップします

  • テーブルのロックを解除する

  • セッション変数をリセット

  • ハンドラーを閉じる

  • GET_LOCK()で取得したロックを解除する

これらの機能はすべて、パフォーマンスとセキュリティを向上させるのにも役立ちます。

詳細については、以下を参照してください。

http://php.net/manual/en/mysqli.persistconns.php

于 2012-07-11T20:47:00.877 に答える
0

mysql_関数は維持されなくなり、非推奨になりました。mysqli_関数は、特にmysqlnd(ネイティブドライバー)を使用する場合にパフォーマンスが向上します。

非推奨のAPIの使用をやめてください!

于 2012-07-11T20:23:05.453 に答える