سؤال

أنا على وشك أن أكتب أ CREATE FUNCTION مع mySQL وأنا أتساءل، إذا CREATE TEMPORARY TABLE التهم نحو العلم MODIFIES SQL DATA.وظيفة لا يعدل أي جدول دائم, ، مجرد جدول مؤقت، يتم إنشاؤه لغرض التحسين.هل يجب أن أستخدم العلم MODIFIES SQL DATA أو فقط READS SQL DATA؟ما هو حقا فائدة ليستخدم MODIFIES SQL DATA أو READS SQL DATA العلم على أي حال؟

هل كانت مفيدة؟

المحلول

اعتبارًا من الآن (MySQL 5.5)، تعمل هذه الخصائص فقط كوثائق داخل التعليمات البرمجية.

من http://dev.mysql.com/doc/refman/5.5/en/create-procedure.html

توفر العديد من الخصائص معلومات حول طبيعة استخدام البيانات بواسطة الروتين.في MySQL، هذه الخصائص استشارية فقط.لا يستخدمها الخادم لتقييد أنواع العبارات التي سيتم السماح بتنفيذ روتين.

وهذا على النقيض من (NON)DETERMINISTIC عبارة، والتي تكون بمثابة تلميح للمحسن فيما إذا كان من الممكن تخزين نتائج الوظيفة مؤقتًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top