09/11/10 18:02:30 hMuYWgxi
PDO::ATTR_PERSISTENT=>true として PDO::prepare を使った場合、prepare ステートメントは接続が維持されている限りキャッシュされていて、前回のキャッシュをphpが勝手に使ってくれるという動作をするのでしょうか?
DBサーバーはpostgresqlです
923:nobodyさん
09/11/10 19:01:07
>>922
PDOStatementのデストラクタで毎回削除してしまうようだね
ext/pdo_pgsql/pgsql_statement.c
> static int pgsql_stmt_dtor(pdo_stmt_t *stmt TSRMLS_DC)
> {
...
> #if HAVE_PQPREPARE
...
> if (S->is_prepared) {
> spprintf(&q, 0, "DEALLOCATE %s", S->stmt_name);
> res = PQexec(H->server, q);
924:nobodyさん
09/11/10 19:03:05
>>920
URLリンク(www.php.net)
925:nobodyさん
09/11/10 20:40:43 k/b4LSiu
>>924
ありがとうございます。
こちらで質問して良かったです。
926:nobodyさん
09/11/10 21:11:57 Yr8QXJQk
>>923
ありがとうございます
しかし劇的に軽量化が出来ないかと思いましたが残念です
pgsqlで関数として定義にしておけば計量化したりしないものだろうか…
927:nobodyさん
09/11/10 21:28:36
君のシステムはDBの接続が継続してたら軽量化するの?
928:nobodyさん
09/11/10 21:31:00 Yr8QXJQk
そうですね、view使えばいいんですね。
ちゃんと勉強しましょう…。
929:nobodyさん
09/11/10 23:50:57 efP4W3lX
GoogleのようなAND検索を実装しようとしています。
以下のように空白で区切ろうと考えています
preg_split('/\p{Z}+/', $query);
単純な区切りでは問題ないのですが、
test aaaa => array('test', 'aaaa');
以下のように一単語として検索したい場合の正規表現が分かりません。
"test aaaa" test => array('test aaaa', 'test');
分かる方お願いします。