আপনি যেহেতু অনুগ্রহ করেছেন তাই আমি আমার হার্ড জিতে থাকা গোপনীয়তাগুলি ভাগ করব ...
সাধারণভাবে, আমি আজ যে সমস্ত এসকিউএলগুলি টিউন করেছি তার জন্য সাব-কোয়েরিগুলি ব্যবহার করা প্রয়োজন। ওরাকল ডাটাবেস জগত থেকে আসার পরে, আমি যে জিনিসগুলি মঞ্জুর করেছি তা মাইএসকিউএল এর সাথে একইভাবে কাজ করে না। এবং মাইএসকিউএল টিউনিংয়ের উপর আমার পড়াশুনা আমাকে এই সিদ্ধান্তে পৌঁছে দেয় যে মাইএসকিউএল অনুসন্ধানগুলি অনুকূলকরণের ক্ষেত্রে ওরাকল এর পিছনে রয়েছে।
যদিও বেশিরভাগ বি 2 সি অ্যাপ্লিকেশনগুলির জন্য প্রয়োজনীয় সাধারণ প্রশ্নগুলি মাইএসকিউএল-এর জন্য ভাল কাজ করতে পারে, বুদ্ধি প্রতিবেদনের জন্য প্রয়োজনীয় বেশিরভাগ সামগ্রিক রিপোর্টিংয়ের মাইএসকিউএলকে দ্রুত কার্যকর করতে গাইডলাইন করার জন্য এসকিউএল কোয়েরিগুলি পুনরায় সংগঠিত করার প্রয়োজন বলে মনে হয়।
প্রশাসন:
max_connections
সমবর্তী সংযোগের সংখ্যা। ডিফল্ট মান 100 সংযোগ (5.0 সাল থেকে 151) - খুব ছোট।
বিঃদ্রঃ:
সংযোগগুলি স্মৃতি গ্রহণ করে এবং আপনার ওএস প্রচুর সংযোগগুলি পরিচালনা করতে সক্ষম হতে পারে।
লিনাক্স / x86 এর জন্য মাইএসকিউএল বাইনারিগুলি আপনাকে 4096 অবধি একযোগে সংযোগ রাখতে দেয় তবে স্ব-সংকলিত বাইনারিগুলির প্রায়শই এর সীমা কম থাকে।
আপনার খোলার সারণী এবং সমবর্তী সংযোগগুলির সংখ্যার সাথে মেলে টেবিল_ক্যাশ সেট করুন। ওপেন_ টেবিলের মানটি দেখুন এবং এটি দ্রুত বাড়তে থাকলে আপনাকে এর আকার বাড়িয়ে তুলতে হবে।
বিঃদ্রঃ:
পূর্ববর্তী 2 পরামিতিগুলির জন্য প্রচুর খোলার ফাইলের প্রয়োজন হতে পারে। 20 + সর্বোচ্চ_সংযোগগুলি + টেবিল_ক্যাশ * 2 আপনার যা প্রয়োজন তার জন্য এটি একটি ভাল অনুমান। লিনাক্সে মাইএসকিউএল এর একটি ওপেন_ফিল_লিমিট বিকল্প রয়েছে, এই সীমাটি সেট করুন।
আপনার যদি জটিল প্রশ্নগুলি থাকে তবে সাজানো_ বাফার_সাইজ এবং tmp_table_size খুব গুরুত্বপূর্ণ হওয়ার সম্ভাবনা রয়েছে। মানগুলি ক্যোয়ারী জটিলতা এবং উপলভ্য সংস্থানগুলির উপর নির্ভর করবে, তবে যথাক্রমে 4Mb এবং 32Mb সূচনা করার পয়েন্টের প্রস্তাব দেওয়া হচ্ছে।
দ্রষ্টব্য: এগুলি হ'ল "প্রতি সংযোগ" মানগুলি, পঠন_ফুফার_সাইজ, রিড_রেন্ড_বুফার_সাইজ এবং কিছু অন্যদের মধ্যে, অর্থাত প্রতিটি সংযোগের জন্য এই মানটির প্রয়োজন হতে পারে। সুতরাং, এই পরামিতিগুলি সেট করার সময় আপনার বোঝা এবং উপলভ্য সংস্থানটি বিবেচনা করুন। উদাহরণস্বরূপ, যদি মাইএসকিউএলকে বাছাই করার দরকার হয় তবে সাজ্ট_বফার_সাইজ বরাদ্দ করা হয়। দ্রষ্টব্য: স্মৃতিশক্তি শেষ না হওয়ার জন্য সতর্কতা অবলম্বন করুন।
আপনার যদি অনেকগুলি সংযোগ স্থাপন করা থাকে (যেমন অবিচ্ছিন্ন সংযোগবিহীন কোনও ওয়েব সাইট) আপনি থ্রেড_ক্যাচি_সাইজটিকে একটি শূন্য-মান নির্ধারণ করে কর্মক্ষমতা উন্নত করতে পারেন। 16 দিয়ে শুরু করার জন্য ভাল মান। আপনার থ্রেড_ক্রিয়েটেড যত তাড়াতাড়ি বৃদ্ধি না পায় ততক্ষণ মানটি বাড়ান।
প্রাথমিক কী:
প্রতি টেবিলের জন্য কেবলমাত্র একটি AUTO_INCREMENT কলাম থাকতে পারে, এটি অবশ্যই সূচী করা উচিত, এবং এটির কোনও খেলাপি মান থাকতে পারে না
KEY সাধারণত INDEX এর প্রতিশব্দ। কলাম সংজ্ঞাতে প্রদত্ত মূল কী বৈশিষ্ট্যটি প্রাইমারি KEY এছাড়াও কেবল KEY হিসাবে নির্দিষ্ট করা যেতে পারে। এটি অন্যান্য ডাটাবেস সিস্টেমের সাথে সামঞ্জস্যের জন্য প্রয়োগ করা হয়েছিল।
একটি প্রাথমিক কী একটি অনন্য সূচক যেখানে সমস্ত কী কলামগুলি নাল নয় হিসাবে সংজ্ঞায়িত করা উচিত
যদি কোনও প্রাথমিক কী বা অনন্য সূচক কেবলমাত্র একটি কলাম থাকে যার একটি পূর্ণসংখ্যা টাইপ থাকে তবে আপনি নির্বাচনী বিবৃতিতে কলামটি "_রোড" হিসাবে উল্লেখ করতে পারেন।
মাইএসকিউএল-তে প্রাইমারী কী-এর নাম প্রাথমিক
বর্তমানে, কেবল ইনোডিবি (v5.1?) সারণীগুলি বিদেশী কীগুলি সমর্থন করে।
সারণী তৈরি করার সময় সাধারণত আপনার প্রয়োজনীয় সমস্ত সূচক তৈরি করেন। প্রাইমারি কী, কেই, ইউনিক, বা আইএনডেক্স হিসাবে ঘোষিত যে কোনও কলাম সূচীভূত হবে।
নুল মানে "মান না থাকা"। NULL পরীক্ষা করার জন্য, আপনি গাণিতিক তুলনা অপারেটর যেমন =, <, বা <> ব্যবহার করতে পারবেন না । পরিবর্তে IS নাল এবং নাল অপারেটর ব্যবহার করুন:
NO_AUTO_VALUE_ON_ZERO 0 এর জন্য অটো বর্ধনকে দমন করে যাতে কেবলমাত্র NULL পরবর্তী ক্রম সংখ্যাটি উত্পন্ন করে। এই মোডটি কার্যকর হতে পারে যদি 0 টি কোনও টেবিলের স্বতঃপরিচয় কলামে সংরক্ষণ করা থাকে। (0 স্টোর করা কোনওভাবেই প্রস্তাবিত অনুশীলন নয়))
নতুন সারিগুলির জন্য ব্যবহৃত AUTO_INCREMENT কাউন্টারটির মান পরিবর্তন করতে:
ALTER TABLE mytable AUTO_INCREMENT = value;
বা SET INSERT_ID = মান;
অন্যথায় নির্দিষ্ট না করা পর্যন্ত, মানটি শুরু হবে: 1000000 বা এটি এইভাবে নির্দিষ্ট করুন:
...) ইঞ্জিন = মাইসাম ডিফল্ট চিঠিটি = ল্যাটিন 1 আউটপুট ক্রিমেন্ট = 1
টাইমস্ট্যাম্প:
TIMESTAMP কলামগুলির মানগুলি বর্তমান সময় অঞ্চল থেকে সংগ্রহের জন্য ইউটিসিতে এবং ইউটিসি থেকে বর্তমান সময় অঞ্চলে পুনরুদ্ধারের জন্য রূপান্তরিত হয়।
http://dev.mysql.com/doc/refman/5.1/en/timestamp.html
একটি টেবিলের একটি টাইমস্ট্যাম্প কলামের জন্য আপনি বর্তমান টাইমস্ট্যাম্পটি ডিফল্ট মান এবং স্বতঃ আপডেটের মান হিসাবে নির্ধারণ করতে পারেন।
যেখানে এই ধরণের কোনও হ'ল দফায় ব্যবহার করার সময় লক্ষ্য রাখতে হবে, WHERE তারিখের কলাম = FROM_UNIXTIME (1057941242) করা ভাল এবং যেখানে UNIX_TIMESTAMP (তারিখের কলাম) = 1057941242 নয় the পরবর্তী কাজগুলি কোনও সূচকের সুবিধা নেবে না যে কলামে।
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html
UNIX_TIMESTAMP()
FROM_UNIXTIME()
UTC_DATE()
UTC_TIME()
UTC_TIMESTAMP()
যদি আপনি মাইএসকিউএলে ডেটটাইমটিকে ইউনিক্স টাইমস্ট্যাম্পে রূপান্তর করেন:
এবং তারপরে এটিতে 24 ঘন্টা যুক্ত করুন:
এবং তারপরে এটি আবার কোনও ডেটটাইমে রূপান্তর করুন যা ম্যাজিকভাবে এটি এক ঘন্টা হারায়!
এখানে কি ঘটছে। ইউনিক্স টাইমস্ট্যাম্পকে ডেটটাইমে ফিরিয়ে আনার সময় টাইমজোনটিকে বিবেচনা করা হয় এবং ঠিক তাই ঘটেছিল যে ২ 2006 শে থেকে ২৯ শে অক্টোবর ২০০ 2006 এর মধ্যে আমরা দিবালোকের সঞ্চয় সময় ছেড়ে গিয়েছিলাম এবং এক ঘন্টা হারিয়েছি।
মাইএসকিউএল ৪.১.৩ দিয়ে শুরু করে, সংযোগের বর্তমান সময় অঞ্চলে CURRENT_TIMESTAMP (), CURRENT_TIME (), CURRENT_DATE () এবং FROM_UNIXTIME () ফাংশনগুলি মান দেয় যা সময়_ অঞ্চল সিস্টেমের ভেরিয়েবলের মান হিসাবে উপলব্ধ। তদ্ব্যতীত, UNIX_TIMESTAMP () ধরে নেয় যে এর যুক্তিটি বর্তমান সময় অঞ্চলে একটি তারিখের মান।
বর্তমান টাইম জোন সেটিংটি ইউটিসিটাইমসটেমপি () বা DATE, TIME, বা DATETIME কলামের মানগুলির মতো ফাংশন দ্বারা প্রদর্শিত মানগুলিকে প্রভাবিত করে না।
দ্রষ্টব্য: কেবলমাত্র ক্ষেত্রটি পরিবর্তিত হলে আপডেটের তারিখটি আপডেট করে যদি কোনও আপডেটের কোনও ক্ষেত্র পরিবর্তন না হয় তবে তারিখের সময় আপডেট হয় না!
সংযোজন হিসাবে, প্রথম TIMESTAMP নির্দিষ্ট না থাকলেও সর্বদা ডিফল্টরূপে AUPOUPDATE
তারিখগুলির সাথে কাজ করার সময়, আমি প্রায় সবসময় জুলিয়ান ডেটকে গণ্য করি কারণ ডেটা ম্যাথটি তখন একই কারণে মধ্যরাত থেকে পূর্ণসংখ্যার যোগ এবং বিয়োগের একটি সাধারণ বিষয় এবং সেকেন্ড। এটি বিরল যে আমার সেকেন্ডের চেয়ে সূক্ষ্ম গ্রানুলারিটির সময় পুনরুদ্ধার দরকার।
এগুলি উভয়ই 4 বাইট পূর্ণসংখ্যার হিসাবে সংরক্ষণ করা যেতে পারে এবং স্থানটি সত্যই শক্ত হয়ে থাকলে UNIX সময়কে (যুগের 1/1/1970 সাল থেকে সেকেন্ড) একটি স্বাক্ষরবিহীন পূর্ণসংখ্যার হিসাবে একত্রিত করা যেতে পারে যা 2106 অবধি ভাল হবে:
24 সেকেন্ডে সেকেন্ড = 86400
'স্বাক্ষরিত পূর্ণসংখ্যার সর্বাধিক ভাল = 2,147,483,647 - 68 বছর সেকেন্ড ধরে রাখতে পারে
'স্বাক্ষরবিহীন পূর্ণসংখ্যার সর্বাধিক ভাল = 4,294,967,295 - 136 বছর সেকেন্ড ধরে রাখতে পারে
বাইনারি প্রোটোকল:
মাইএসকিউএল ৪.১ একটি বাইনারি প্রোটোকল চালু করেছে যা স্ট্রিং বিন্যাসে এবং রূপান্তর ছাড়াই নন-স্ট্রিং ডেটা মানগুলি দেশীয় ফর্ম্যাটে প্রেরণ এবং ফিরে পাওয়ার অনুমতি দেয়। (খুবই কাজের)
অন্যদিকে, mysql_real_query () mysql_query () এর চেয়ে দ্রুততর কারণ স্টেট্রেন স্ট্রিংটিতে কাজ করতে এটি স্ট্রেন () কল করে না।
http://dev.mysql.com/tech-resources/articles/4.1/prepared-statements.html
বাইনারি প্রোটোকলটি সার্ভার-সাইড প্রস্তুত বিবৃতিগুলিকে সমর্থন করে এবং দেশীয় ফর্ম্যাটে ডেটা মান ট্রান্সমিশনের অনুমতি দেয়। বাইনারি প্রোটোকলটি মাইএসকিউএল ৪.১ এর পূর্ববর্তী প্রকাশের সময় বেশ কিছুটা সংশোধন করেছিল।
ক্ষেত্রের একটি সংখ্যার প্রকার রয়েছে কিনা তা পরীক্ষা করতে আপনি IS_NUM () ম্যাক্রো ব্যবহার করতে পারেন। IS_NUM () তে প্রকারের মানটি পাস করুন এবং ক্ষেত্রটি সংখ্যাসূচক হলে এটি সত্যে মূল্যায়ন করে:
নোটটিতে একটা জিনিষ যে বাইনারি তথ্য পারি নিয়মিত ক্যোয়ারী ভিতরে পাঠানো হবে যদি আপনি এটি অব্যাহতি এবং মনে রাখবেন মাইএসকিউএল প্রয়োজন শুধুমাত্র যে ব্যাকস্ল্যাশ এবং উদ্ধৃতি চরিত্র পলান হবে না। সুতরাং এটি উদাহরণস্বরূপ এনক্রিপ্ট করা / সল্টেড পাসওয়ার্ডের মতো সংক্ষিপ্ত ছোট বাইনারি স্ট্রিংগুলির পক্ষে সহজ উপায়।
মাস্টার সার্ভার:
http://www.experts-exchange.com/Database/MySQL/Q_22967482.html
http://www.databasejournal.com/features/mysql/article.php/10897_3355201_2
অনুদান রেপ্লিকেশন স্ল্যাভ চালু । 'স্লেভ_পাসওয়ার্ড' দ্বারা দাস_ ব্যবহারকারীকে চিহ্নিত
#Master Binary Logging Config STATEMENT causes replication
to be statement-based - default
log-bin=Mike
binlog-format=STATEMENT
server-id=1
max_binlog_size = 10M
expire_logs_days = 120
#Slave Config
master-host=master-hostname
master-user=slave-user
master-password=slave-password
server-id=2
বাইনারি লগ ফাইল অবশ্যই পড়তে হবে:
http://dev.mysql.com/doc/refman/5.0/en/binary-log.html
http://www.mydigitallife.info/2007/10/06/how-to-read-mysql-binary-log-files-binlog-with-mysqlbinlog/
http://dev.mysql.com/doc/refman/5.1/en/mysqlbinlog.html
http://dev.mysql.com/doc/refman/5.0/en/binary-log.html
http://dev.mysql.com/doc/refman/5.1/en/binary-log-setting.html
আপনি রিসেট মাস্টার স্টেটমেন্টের সাথে সমস্ত বাইনারি লগ ফাইলগুলি মুছে ফেলতে পারেন, বা তার একটি উপসেট পুরে মাস্টার দিয়ে মুছে ফেলতে পারেন
--result-file = binlog.txt বিশ্বস্ত ফ্রেন্ড-বিন.000030
নিয়মমাফিককরণ:
http://dev.mysql.com/tech-resources/articles/intro-to-normalization.html
ইউডিএফ ফাংশন
http://www.koders.com/cpp/fid10666379322B54AD41AEB0E4100D87C8CDDF1D8C.aspx
http://souptonuts.sourceforge.net/readme_mysql.htm
তথ্যের ধরণ:
http://dev.mysql.com/doc/refman/5.1/en/storage-requirements.html
http://www.informit.com/articles/article.aspx?p=1238838&seqNum=2
http://bitfilm.net/2008/03/24/saving-bytes-efficient-data-storage-mysql-part-1/
একটি বিষয় লক্ষণীয় যে CHAR এবং VARCHAR উভয়ের সাথে একটি মিশ্র টেবিলের উপর, মাইএসকিউএল CHAR এর পরিবর্তনকে VARCHAR এর মধ্যে পরিবর্তন করবে
পুনঃসংখ্যার পূর্ণসংখ্যা_প্রকারটি নিখরচায় স্বয়ংক্রিয় ক্রিমেন্ট নয়, প্রাথমিক কী (রিকনাম)
মাইএসকিউএল সর্বদা স্ট্যান্ডার্ড এসকিউএল এবং আইএসও 8601 নির্দিষ্টকরণ অনুসারে বছরের সাথে তারিখগুলি উপস্থাপন করে
বিবিধ:
কিছু মাইএসকিউএল কার্যকারিতা বন্ধ করে দেওয়ার ফলে ছোট ডেটা ফাইল এবং দ্রুত অ্যাক্সেস হবে। উদাহরণ স্বরূপ:
--datadir ডাটা ডিরেক্টরি উল্লেখ করবে এবং
--স্কিপ-ইনডোডব নির্দোষ বিকল্পটি বন্ধ করে দেবে এবং আপনাকে 10-20M বাঁচাবে
এখানে আরও
http://dev.mysql.com/tech-resources/articles/mysql-c-api.html
অধ্যায় 7 ডাউনলোড করুন - বিনামূল্যে
InnoDB লেনদেনমূলক তবে এটির সাথে একটি পারফরম্যান্স ওভারহেড রয়েছে। আমি আমার 90% প্রকল্পের জন্য মাইআইএসএএম টেবিলগুলি পর্যাপ্ত পরিমাণে খুঁজে পেয়েছি। অ-লেনদেন-নিরাপদ সারণীগুলির (মাইআইএসএএম) এর নিজস্ব বিভিন্ন সুবিধা রয়েছে যার সমস্তটি ঘটে কারণ:
ওভারহেডে কোনও লেনদেন নেই:
অনেক দ্রুত
লোয়ার ডিস্ক জায়গার প্রয়োজনীয়তা
আপডেটগুলি সম্পাদনের জন্য কম মেমরির প্রয়োজন
প্রতিটি মাইআইএসএএম টেবিল তিনটি ফাইলে ডিস্কে সঞ্চিত থাকে। ফাইলগুলির নাম রয়েছে যা টেবিলের নাম দিয়ে শুরু হয় এবং ফাইলের প্রকারটি নির্দেশ করতে একটি এক্সটেনশন থাকে। একটি .frm ফাইল টেবিল বিন্যাস সংরক্ষণ করে। ডেটা ফাইলে একটি .MYD (MYData) এক্সটেনশন রয়েছে। ইনডেক্স ফাইলটির একটি .MYI (MYIndex) এক্সটেনশন রয়েছে।
এই ফাইলগুলি করতে মাইএসকিউএল প্রশাসকগণ ব্যাকআপ বৈশিষ্ট্য যা সময় গ্রাসকারী (তাই হয় পুনরুদ্ধার করুন) হল ব্যবহার না করেই অক্ষত একটি সংগ্রহস্থলের অবস্থান অনুলিপি করা
কৌশলটি এই ফাইলগুলির একটি অনুলিপি তৈরি করে টেবিলটি ড্রপ করুন। আপনি যখন ফাইলগুলি পিছনে রাখবেন তখন মাইএসকিউএল সেগুলি সনাক্ত করবে এবং সারণী ট্র্যাকিং আপডেট করবে।
আপনার অবশ্যই ব্যাকআপ / পুনরুদ্ধার করতে হবে,
একটি ব্যাকআপ পুনরুদ্ধার করা বা বিদ্যমান ডাম্প ফাইল থেকে আমদানি করতে প্রতিটি টেবিলে আপনার সূচী সংখ্যা এবং প্রাথমিক কীগুলির উপর নির্ভর করে দীর্ঘ সময় নিতে পারে। নিম্নলিখিতটি দিয়ে আপনার মূল ডাম্প ফাইলটি সংশোধন করে আপনি এই প্রক্রিয়াটি নাটকীয়ভাবে গতিতে পারেন:
SET AUTOCOMMIT = 0;
SET FOREIGN_KEY_CHECKS=0;
.. your dump file ..
SET FOREIGN_KEY_CHECKS = 1;
COMMIT;
SET AUTOCOMMIT = 1;
পুনরায় লোডের গতি বাড়ানোর জন্য, এসকিউএল কমান্ডটি SET AUTOCOMMIT = 0 যোগ করুন; ডাম্প ফাইলের শুরুতে এবং কমিট যুক্ত করুন; শেষ পর্যন্ত কমান্ড।
ডিফল্টরূপে, অটোকমিট চালু রয়েছে, যার অর্থ ডাম্প ফাইলের প্রতিটি সন্নিবেশ কমান্ডকে পৃথক লেনদেন হিসাবে বিবেচনা করা হবে এবং পরেরটি শুরু হওয়ার আগে ডিস্কে লিখিত হবে। আপনি যদি এই কমান্ডগুলি যোগ না করেন তবে ইনোডিবিতে একটি বৃহত ডাটাবেস পুনরায় লোড করতে অনেক ঘন্টা সময় নিতে পারে ...
মাইএসকিউএল টেবিলের সারিটির সর্বাধিক আকার 65,535 বাইট
মাইএসকিউএল 5.0.3 এ এবং সর্বোচ্চ সারি আকারের (65,535 বাইট) একটি ভ্রচারের কার্যকর সর্বোচ্চ দৈর্ঘ্য
ভোরচারের মানগুলি প্যাড করা হয় না যখন সেগুলি সংরক্ষণ করা হয়। মানক এসকিউএল এর সাথে সংগতি রেখে মানগুলি সংরক্ষণ এবং পুনরুদ্ধার করা হলে ট্রেলিং স্পেসগুলি বজায় রাখা হয়।
মাইএসকিউএল-এ CHAR এবং VARCHAR মানগুলি অনুসরণের জায়গাগুলি বিবেচনা না করে তুলনা করা হয়।
CHAR ব্যবহার করা কেবলমাত্র আপনার অ্যাক্সেসকে ত্বরান্বিত করবে যদি পুরো রেকর্ডটি নির্দিষ্ট আকার হয়। এটি হ'ল আপনি যদি কোনও ভেরিয়েবল সাইজ অবজেক্ট ব্যবহার করেন তবে আপনি সেগুলিও পরিবর্তনশীল আকারের করতে পারেন। আপনি কোনও টেবিলের মধ্যে একটি CHAR ব্যবহার করে কোনও গতি অর্জন করতে পারবেন না যার মধ্যে একটি ভ্রচারও রয়েছে।
মাইএসকিউএল 5.0.3 হিসাবে 255 বর্ণের ভ্রচার সীমা 65535 টি অক্ষরে উন্নীত হয়েছিল
সম্পূর্ণ-পাঠ্য অনুসন্ধানগুলি কেবল মাইআইএসএএম টেবিলের জন্য সমর্থিত।
http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
বিএলওবি কলামগুলির কোনও অক্ষর সেট নেই, এবং বাছাই এবং তুলনা কলামের মানগুলিতে বাইটগুলির সংখ্যাসমূহের উপর ভিত্তি করে
যদি কঠোর এসকিউএল মোড সক্ষম না করা হয় এবং আপনি একটি বিএলওবি বা টেক্সট কলামে একটি মান নির্ধারণ করেন যা কলামটির সর্বাধিক দৈর্ঘ্য অতিক্রম করে, মানটি ফিট করার জন্য কাটা হয় এবং একটি সতর্কতা উত্পন্ন হয়।
কার্যকর আদেশ:
কঠোর মোডটি পরীক্ষা করুন: নির্বাচন করুন @@ Global.sql_mode;
কঠোর মোড বন্ধ করুন:
SET @@ গ্লোবাল.এসকিএল_মোড = '';
SET @@ গ্লোবাল.এসকিএল_মোড = 'এমওয়াইএসকিউএল 40'
বা সরান: sql- মোড = "STRICT_TRANS_TABLES, ...
কাছ থেকে কলম দেখান mytable
ভার্চুয়ালকালামের মাধ্যমে virtualcolumn
Mytable অর্ডার হিসাবে সর্বোচ্চ (নেমকাউন্ট) নির্বাচন করুন
http://dev.mysql.com/doc/refman/5.0/en/group-by-hidden-fields.html
http://dev.mysql.com/doc/refman/5.1/en/information-funifications.html#function_last-insert-id
last_insert_id ()
বর্তমান থ্রেড সর্বাধিক (pkcolname) এ সন্নিবেশিত সর্বশেষ সারির পিকে আপনি সামগ্রিকভাবে সর্বশেষ পিকে পাবেন।
দ্রষ্টব্য: যদি টেবিলটি খালি থাকে সর্বাধিক (pkcolname) ১ টি mysql_insert_id () স্থানীয় মাইএসকিউএল সি এপিআই ফাংশন mysql_insert_id () কে এক প্রকার দীর্ঘ (পিএইচপি তে নামকরণ করা) রূপান্তর করে to
যদি আপনার অটোপ্রেমেন্ট কলামে বিগিন্টের কলামের ধরণ থাকে তবে mysql_insert_id () দ্বারা ফেরত মানটি ভুল হবে। পরিবর্তে, একটি এসকিউএল কোয়েরিতে অভ্যন্তরীণ মাইএসকিউএল এসকিউএল ফাংশন LAST_INSERT_ID () ব্যবহার করুন।
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id
কেবল একটি নোট যে আপনি যখন কোনও টেবিলের মধ্যে ডেটা inোকানোর চেষ্টা করছেন এবং আপনি ত্রুটিটি পান:
Unknown column ‘the first bit of data what you want to put into the table‘ in ‘field list’
মত কিছু ব্যবহার
INSERT INTO table (this, that) VALUES ($this, $that)
এর কারণ আপনি সারণীতে লেগে থাকার চেষ্টা করছেন এমন মানগুলির চারপাশে কোনও অ্যাড্রোপ্রফস নেই। সুতরাং আপনার কোডটি এতে পরিবর্তন করা উচিত:
INSERT INTO table (this, that) VALUES ('$this', '$that')
অনুস্মারক যে `` মাইএসকিউএল ক্ষেত্র, ডাটাবেস বা টেবিলগুলি সংজ্ঞায়িত করতে ব্যবহৃত হয়, মানগুলি নয়;)
ক্যোয়ারির সময় সার্ভারের সাথে সংযোগ হারিয়েছে:
http://dev.mysql.com/doc/refman/5.1/en/gone-away.html
http://dev.mysql.com/doc/refman/5.1/en/packet-too-large.html
http://dev.mysql.com/doc/refman/5.0/en/server-parameters.html
http://dev.mysql.com/doc/refman/5.1/en/show-variables.html
http://dev.mysql.com/doc/refman/5.1/en/option-files.html
http://dev.mysql.com/doc/refman/5.1/en/error-log.html
টিউনিং কোয়েরি
http://www.artfulsoftware.com/infotree/queries.php?&bw=1313
ভাল যে বোনাস আমি মনে করি হবে ... একটি মহান সঙ্গে অনেক ঘন্টা এবং অনেক প্রকল্পের ফল আয় করতে যথেষ্ট হওয়া উচিত বিনামূল্যে ডাটাবেস। আমি উইন্ডোজ প্ল্যাটফর্মে বেশিরভাগ মাইএসকিউএল সহ অ্যাপ্লিকেশন ডেটা সার্ভারগুলি বিকাশ করি। আমার সবচেয়ে খারাপ গণ্ডগোলটি সোজা করতে হয়েছিল
চূড়ান্ত মাইএসকিউএল উত্তরাধিকার ডাটাবেস দুঃস্বপ্ন
এখানে উল্লিখিত অনেকগুলি কৌশল ব্যবহার করে টেবিলগুলি দরকারী কিছুতে কার্যকর করার জন্য একাধিক অ্যাপ্লিকেশনগুলির প্রয়োজন।
আপনি যদি এই চমকপ্রদভাবে সহায়ক বলে মনে করেন তবে এটিকে ভোট দিয়ে আপনার ধন্যবাদ প্রকাশ করুন your
আমার অন্যান্য নিবন্ধ এবং সাদা কাগজপত্রগুলি: www.coastrd.com এও দেখুন