বহুল ব্যবহৃত সরঞ্জামটি হ'ল এসকিউএল কমান্ড EXPLAIN ANALYZE
, সম্ভবত উত্তরের আরও বিশদ জন্য আরও বিকল্প রয়েছে। এটি ক্যোয়ারী পরিকল্পনাকে পরিকল্পনাকারীর প্রাক্কলন অনুসারে বাস্তব এক্সিকিউশন সময়গুলির সাথে ফলাফল দেয়।
আপনি কেন ক্যাশে সাফ করতে চান? সাধারণত ব্যবহারের ক্ষেত্রে সম্ভবত ক্যাশে জনবহুল হয়। আপনি যদি এখনও সেই রুটে যেতে চান তবে এসও সম্পর্কিত একটি উত্তর এখানে ।
না ক্যাশে রিসেট, এখানে অনেক পুনরাবৃত্তিও সঙ্গে পরীক্ষা দুটি সহজ উপায়:
সাধারণ ইউডিএফ
EXPLAIN ANALYZE
SELECT f_myfunc(g) FROM generate_series (1,1000) AS t(g);
বা এলোমেলো ইনপুট সহ - উদাহরণে 0 থেকে 5000 এর মধ্যে এলোমেলো সংখ্যা:
EXPLAIN ANALYZE
SELECT f_myfunc((random()*5000)::int) FROM generate_series (1,1000) AS t(g);
বা একটি বাস্তব জীবনের টেবিল সহ:
EXPLAIN ANALYZE
SELECT f_myfunc(my_column) FROM my_tbl; -- LIMIT n
আরও জটিল ফাংশন / ক্যোয়ারী
CREATE FUNCTION f_test(ct int, sql text) RETURNS void AS
$func$
DECLARE
i int;
BEGIN
FOR i IN 1 .. $1 LOOP
EXECUTE sql; -- not safe against SQLi!
END LOOP;
END
$func$ LANGUAGE plpgsql
কল করুন:
EXPLAIN ANALYZE
SELECT f_test(100, $x$SELECT * from MADLIB.gp('mock3', '{x1, x2, x3}', '{y1}', 100,20, 3)$x$
যত্নশীল : ক্যোয়ারীটি আসলে কার্যকর করা হয়েছে!
যত্নশীল : জনসাধারণের ব্যবহারের জন্য উপযুক্ত নয়। সম্ভাব্য এসকিউএল ইঞ্জেকশন।
আবার প্রয়োজনে আপনি এলোমেলো প্যারামিটার ব্যবহার করতে পারেন। সম্ভবত এর USING
ধারা সঙ্গে EXECUTE
।
pgbench
; আপনি যা চান তা করতে কাস্টম স্ক্রিপ্টগুলি দিয়ে এটি চালাতে পারেন। পিজি থামাতে এবং পুনরায় চালু করতে এবং আপনার প্রয়োজনের বেশিরভাগ ওএস ডিস্ক ক্যাশে ফেলে দেওয়ার জন্য একটি মোড়কের শেল স্ক্রিপ্ট সহ।