スマートな SQL

WBOY
リリース: 2016-06-23 13:27:47
オリジナル
1091 人が閲覧しました

public functions getName(){   $sql=sprintf("select pin,point from table");   $results = array();   if(!$error=$this->db->query($sql)) {      $name = $this->getSn($results['pin']);      $this->hlist[] = $results;   }   $this->db->free();   $this->db2->free();   return $this->hlist;}public function getSn($pin){   $sql = sprintf("SELECT sn FROM `%s_pin` WHERE pin=%s",__MYSQL_PREFIX,$pin);   return $this->db2->get_one($sql);}
ログイン後にコピー

SQL実行中に別のSQLを実行 本来getSnのdb2はdbと書いてあったのですが、データが1つしか見つからなかったのでdb2を追加しました
これでSQLは問題なくなりましたが、時間がかかりました。ページを開く 久しぶりです、どうすれば最適化できますか?メソッドの内容は、レコードを取得することです

$this->db2->get_one($sql)
メソッドの名前から判断すると、レコードを取得することです

テーブル
シリーズ (データ)表): シリーズID 名

$sql=sprintf("select id,seriesid,name from category"); if(!$error=$this->db->query($sql)) {      $name = $this->getName($results['seriesid']);      $results['seriesid']=$name['name'];      $this->hlist[] = $results;   } return $this->hlist;//我想把从category表里读取出来的seriesid替换成对应的名字//但是用这种方法,在页面打开的时候要等很久,请问可以怎么优化??function getName($seriesid){   $sql=sprintf("select name from series where id=$seriesid");   return $this->db2->get_one($sql);}
ログイン後にコピー




ページが遅いのはこのコードの問題でしょうか?

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