ホームページ > バックエンド開発 > PHPチュートリアル > ビッグデータの高い同時実行性に関連する問題の処理

ビッグデータの高い同時実行性に関連する問題の処理

WBOY
リリース: 2016-06-13 12:15:20
オリジナル
968 人が閲覧しました

ビッグデータの同時実行性の高さの問題を処理する
データベース内
データベース
A
テーブルが 1 つあります
a
その中のデータは
名 姓
A a
このテーブルには何百万ものデータがあります。
問題は次のとおりです
/*前の $name はすでに私によって定義されています*/
$result= "SELECT lastname FROM a WHERE firstname='"。 "'";
$sql_name=mysql_query($result);
$name=mysql_fetch_array($sql_title);
$subject =$name[0];
?>
問題は発生しました
サーバーは、500 個のデータベースを同時に処理するとすぐにハングアップしました。
何か良い解決策はありますか?




-----ソリューションのアイデア----------------------
残念ながら、これは、ハードウェアとオペレーティング システムが高い同時実行性をサポートしていないことが原因です。
PHP だけの観点から現状を変えることはできません
コードの場合:
PHP レベルでは最適化の余地はありません
mysql レベルでは、firstname 列にインデックスを付けるだけです

-----ソリューションのアイデア----------------------
$result= "SELECT lastname FROM a WHERE firstname='".$name."'";
and
$result= "SELECT lastname FROM a WHERE firstname='".$name."' 制限 0,1";
意味が違う!

前者は複数の行をフェッチできることを意味します
後者は、行数に関係なく、最初に見つかった行のみがフェッチされることを意味します

そのための場合は、スピードという名の本来の意図すら歪められる。では、「最適化」とは何を意味するのでしょうか?
------解決策----------------------
テーブルを水平または垂直に分割するか、マルチデータベースの圧力共有を通じて。

-----ソリューションのアイデア----------------------
データベースへの分岐を意味します見てください。 。 。
md5(firstname lastname)、異なるデータベーステーブルにハッシュされます。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート