Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL की छिपी विशेषताएं

चूंकि आपने इनाम दिया है, इसलिए मैं अपनी मेहनत से जीते गए रहस्यों को साझा करूंगा...

सामान्य तौर पर, आज मेरे द्वारा ट्यून किए गए सभी SQL को उप-प्रश्नों का उपयोग करने की आवश्यकता है। Oracle डेटाबेस की दुनिया से आने के बाद, जिन चीज़ों को मैंने स्वीकार किया, वे MySQL के साथ समान काम नहीं कर रही थीं। और MySQL ट्यूनिंग पर मेरे पढ़ने से मुझे यह निष्कर्ष निकलता है कि प्रश्नों को अनुकूलित करने के मामले में MySQL Oracle से पीछे है।

जबकि अधिकांश B2C अनुप्रयोगों के लिए आवश्यक सरल प्रश्न MySQL के लिए अच्छी तरह से काम कर सकते हैं, इंटेलिजेंस रिपोर्टिंग के लिए आवश्यक अधिकांश समग्र रिपोर्टिंग प्रकार के प्रश्नों के लिए MySQL को तेजी से निष्पादित करने के लिए मार्गदर्शन करने के लिए SQL प्रश्नों की उचित योजना और पुन:व्यवस्थित करने की आवश्यकता होती है।

प्रशासन:

max_connections समवर्ती कनेक्शन की संख्या है। डिफ़ॉल्ट मान 100 कनेक्शन (5.0 से 151) - बहुत छोटा है।

नोट:

कनेक्शन मेमोरी लेते हैं और आपका OS बहुत सारे कनेक्शन को हैंडल करने में सक्षम नहीं हो सकता है।

Linux/x86 के लिए MySQL बायनेरिज़ आपको 4096 तक समवर्ती कनेक्शन रखने की अनुमति देता है, लेकिन स्वयं संकलित बायनेरिज़ में अक्सर एक सीमा कम होती है।

अपनी खुली तालिकाओं और समवर्ती कनेक्शनों की संख्या से मिलान करने के लिए table_cache सेट करें। open_tables मान देखें और यदि यह तेज़ी से बढ़ रहा है तो आपको इसका आकार बढ़ाना होगा।

नोट:

पिछले 2 मापदंडों के लिए बहुत सारी खुली फाइलों की आवश्यकता हो सकती है। 20+max_connections+table_cache*2 आपको जो चाहिए उसके लिए एक अच्छा अनुमान है। Linux पर MySQL में एक open_file_limit विकल्प है, यह सीमा निर्धारित करें।

यदि आपके पास जटिल प्रश्न हैं Sort_buffer_size और tmp_table_size बहुत महत्वपूर्ण होने की संभावना है। मान क्वेरी जटिलता और उपलब्ध संसाधनों पर निर्भर करेगा, लेकिन क्रमशः 4Mb और 32Mb अनुशंसित प्रारंभिक बिंदु हैं।

नोट:ये "प्रति कनेक्शन" मान हैं, read_buffer_size, read_rnd_buffer_size और कुछ अन्य के बीच, जिसका अर्थ है कि प्रत्येक कनेक्शन के लिए इस मान की आवश्यकता हो सकती है। इसलिए, इन मापदंडों को सेट करते समय अपने लोड और उपलब्ध संसाधनों पर विचार करें। उदाहरण के लिए Sort_buffer_size केवल तभी आवंटित किया जाता है जब MySQL को एक सॉर्ट करने की आवश्यकता हो। नोट:सावधान रहें कि स्मृति समाप्त न हो जाए।

यदि आपके पास कई कनेक्ट स्थापित हैं (यानी लगातार कनेक्शन के बिना एक वेब साइट) तो आप थ्रेड_कैश_साइज को गैर-शून्य मान पर सेट करके प्रदर्शन में सुधार कर सकते हैं। 16 के साथ शुरू करने के लिए अच्छा मूल्य है। मान बढ़ाएँ जब तक कि आपके थ्रेड्स_क्रिएटेड बहुत तेज़ी से नहीं बढ़ते।

प्राथमिक कुंजी:

प्रति तालिका केवल एक AUTO_INCREMENT कॉलम हो सकता है, इसे अनुक्रमित किया जाना चाहिए, और इसका कोई DEFAULT मान नहीं हो सकता है

KEY आमतौर पर INDEX का पर्यायवाची है। कॉलम परिभाषा में दिए जाने पर मुख्य विशेषता प्राथमिक कुंजी को केवल कुंजी के रूप में निर्दिष्ट किया जा सकता है। इसे अन्य डेटाबेस सिस्टम के साथ संगतता के लिए लागू किया गया था।

प्राथमिक कुंजी एक अद्वितीय अनुक्रमणिका है जहां सभी प्रमुख स्तंभों को NOT NULL के रूप में परिभाषित किया जाना चाहिए

यदि प्राथमिक कुंजी या अद्वितीय अनुक्रमणिका में केवल एक स्तंभ होता है जिसमें पूर्णांक प्रकार होता है, तो आप चयन कथन में स्तंभ को "_rowid" के रूप में भी संदर्भित कर सकते हैं।

MySQL में, प्राथमिक कुंजी का नाम प्राथमिक होता है

वर्तमान में, केवल InnoDB (v5.1?) टेबल विदेशी कुंजियों का समर्थन करते हैं।

आम तौर पर, जब आप टेबल बना रहे होते हैं तो आप सभी इंडेक्स बनाते हैं। प्राथमिक कुंजी, कुंजी, अद्वितीय, या इंडेक्स के रूप में घोषित किसी भी कॉलम को अनुक्रमित किया जाएगा।

NULL का अर्थ है "कोई मूल्य नहीं"। NULL का परीक्षण करने के लिए, आप नहीं अंकगणितीय तुलना ऑपरेटरों जैसे =, <, या <> का उपयोग करें। इसके बजाय IS NULL और IS NOT NULL ऑपरेटरों का उपयोग करें:

NO_AUTO_VALUE_ON_ZERO 0 के लिए ऑटो इंक्रीमेंट को दबा देता है ताकि केवल NULL अगली अनुक्रम संख्या उत्पन्न करे। यह मोड उपयोगी हो सकता है यदि 0 को तालिका के AUTO_INCREMENT कॉलम में संग्रहीत किया गया हो। (वैसे, 0 को स्टोर करना अनुशंसित अभ्यास नहीं है।)

नई पंक्तियों के लिए उपयोग किए जाने वाले AUTO_INCREMENT काउंटर का मान बदलने के लिए:

ALTER TABLE mytable AUTO_INCREMENT = value; 

orSET INSERT_ID =मान;

जब तक अन्यथा निर्दिष्ट न हो, मान इसके साथ शुरू होगा:1000000 या इसे इस प्रकार निर्दिष्ट करें:

...) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1

टाइमस्टैम्प:

TIMESTAMP कॉलम के मानों को स्टोरेज के लिए वर्तमान समय क्षेत्र से UTC में, और UTC से पुनर्प्राप्ति के लिए वर्तमान समय क्षेत्र में परिवर्तित किया जाता है।

http://dev.mysql.com/doc/refman/5.1 /hi/timestamp.html तालिका में एक टाइमस्टैम्प कॉलम के लिए, आप वर्तमान टाइमस्टैम्प को डिफ़ॉल्ट मान और ऑटो-अपडेट मान के रूप में असाइन कर सकते हैं।

WHERE क्लॉज में इनमें से किसी एक प्रकार का उपयोग करते समय एक बात का ध्यान रखना चाहिए, यह करना सबसे अच्छा है WHERE datecolumn =FROM_UNIXTIME(1057941242)और नहींकहां UNIX_TIMESTAMP(datecolumn) =1057941242. बाद वाले को करने से उस पर एक इंडेक्स का लाभ नहीं होगा। कॉलम।

http://dev.mysql.com /doc/refman/5.1/hi/date-and-time-functions.html

 UNIX_TIMESTAMP() 
 FROM_UNIXTIME() 
 UTC_DATE()
 UTC_TIME()
 UTC_TIMESTAMP()

यदि आप MySQL में डेटाटाइम को यूनिक्स टाइमस्टैम्प में कनवर्ट करते हैं:
और फिर इसमें 24 घंटे जोड़ें:
और फिर इसे वापस डेटाटाइम में कनवर्ट करें यह जादुई रूप से एक घंटा खो देता है!

यहाँ क्या हो रहा है। यूनिक्स टाइमस्टैम्प को वापस डेटाटाइम में परिवर्तित करते समय टाइमज़ोन को ध्यान में रखा जाता है और ऐसा ही होता है कि 28 और 2 9 अक्टूबर 2006 के बीच हमने डेलाइट सेविंग टाइम बंद कर दिया और एक घंटा खो दिया।

MySQL 4.1.3 से शुरू होकर, CURRENT_TIMESTAMP(), CURRENT_TIME(), CURRENT_DATE(), और FROM_UNIXTIME() फ़ंक्शन कनेक्शन के वर्तमान समय क्षेत्र में मान लौटाते हैं। , जो time_zone सिस्टम चर के मान के रूप में उपलब्ध है। इसके अलावा, UNIX_TIMESTAMP() मानता है कि इसका तर्क वर्तमान समय क्षेत्र में एक डेटाटाइम मान है।

वर्तमान समय क्षेत्र सेटिंग UTC_TIMESTAMP() जैसे कार्यों या DATE, TIME, या DATETIME कॉलम में मानों द्वारा प्रदर्शित मानों को प्रभावित नहीं करती है।

नोट:अद्यतन पर केवल यदि कोई फ़ील्ड बदली जाती है तो दिनांक समय अद्यतन करता है यदि कोई अद्यतन परिणाम कोई फ़ील्ड नहीं बदला जा रहा है तो दिनांक समय अद्यतन नहीं है!

इसके अतिरिक्त, पहला टाइमस्टैम्प हमेशा डिफ़ॉल्ट रूप से ऑटोअपडेट होता है, भले ही निर्दिष्ट न हो

तिथियों के साथ काम करते समय, मैं लगभग हमेशा जूलियन तिथि को स्वीकार करता हूं क्योंकि डेटा गणित तब पूर्णांकों को जोड़ने या घटाने का एक साधारण मामला है, और उसी कारण से मध्यरात्रि के बाद से सेकंड। यह दुर्लभ है कि मुझे सेकंड की तुलना में बेहतर ग्रैन्युलैरिटी के समय पुनर्जीवन की आवश्यकता है।

इन दोनों को 4 बाइट पूर्णांक के रूप में संग्रहीत किया जा सकता है, और यदि स्थान वास्तव में तंग है तो UNIX समय (युग 1/1/1970 से सेकंड) में एक अहस्ताक्षरित पूर्णांक के रूप में जोड़ा जा सकता है जो लगभग 2106 तक अच्छा रहेगा:

24 घंटे में सेकंड =86400

' हस्ताक्षरित इंटीजर अधिकतम वैल =2,147,483,647 - 68 साल के सेकेंड धारण कर सकता है

' अहस्ताक्षरित पूर्णांक अधिकतम वैल =4,294,967,295 - सेकंड के 136 वर्ष धारण कर सकता है

बाइनरी प्रोटोकॉल:

MySQL 4.1 ने एक बाइनरी प्रोटोकॉल पेश किया जो गैर-स्ट्रिंग डेटा मानों को भेजने की अनुमति देता है और स्ट्रिंग प्रारूप से और बिना रूपांतरण के मूल प्रारूप में वापस आ जाता है। (बहुत उपयोगी)

इसके अलावा, mysql_real_query() mysql_query() से तेज़ है क्योंकि यह कथन स्ट्रिंग पर काम करने के लिए strlen() को कॉल नहीं करता है।

http://dev.mysql.com/tech-resources /articles/4.1/prepared-statements.html बाइनरी प्रोटोकॉल सर्वर-साइड तैयार बयानों का समर्थन करता है और मूल प्रारूप में डेटा मानों के प्रसारण की अनुमति देता है। MySQL 4.1 के पहले के रिलीज़ के दौरान बाइनरी प्रोटोकॉल में काफी संशोधन किया गया था।

आप IS_NUM() मैक्रो का उपयोग यह परीक्षण करने के लिए कर सकते हैं कि किसी फ़ील्ड में एक संख्यात्मक प्रकार है या नहीं। प्रकार मान को IS_NUM() पर पास करें और यदि फ़ील्ड संख्यात्मक है तो यह TRUE का मूल्यांकन करता है:

एक बात ध्यान देने योग्य है कि बाइनरी डेटा CAN यदि आप इससे बचते हैं और याद रखें कि MySQL को केवल की आवश्यकता है, तो एक नियमित क्वेरी के अंदर भेजा जाए कि बैकस्लैश और कोट कैरेक्टर बच निकले। तो उदाहरण के लिए एन्क्रिप्टेड/नमकीन पासवर्ड जैसे छोटे बाइनरी स्ट्रिंग्स को INSERT करने का यह वास्तव में आसान तरीका है।

मास्टर सर्वर:

http://www.experts-exchange.com/Database/MySQL/Q_22967482 .html

http://www.databasejournal.com/features/mysql/article.php /10897_3355201_2

पर प्रतिकृति दास प्रदान करें। गुलाम_उपयोगकर्ता को 'slave_password' से पहचाना जाता है

#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/hi/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 /hi/mysqlbinlog.html

http://dev.mysql.com/doc/refman /5.0/hi/binary-log.html

http://dev.mysql.com/doc /refman/5.1/hi/binary-log-setting.html

आप सभी बाइनरी लॉग फ़ाइलों को RESET MASTER स्टेटमेंट या PURGE MASTER के साथ उनके सबसेट के साथ हटा सकते हैं

--result-file=binlog.txt TrustedFriend-bin.000030

सामान्यीकरण:

http://dev.mysql.com/tech-resources /articles/intro-to-normalization.html

UDF फ़ंक्शन

http://www.koders.com/cpp/fidas10666379322B54AD41AEB0E4100D87C.CDDF

http://souptonuts.sourceforge.net/readme_mysql.htm

डेटा प्रकार:

http://dev.mysql.com/doc/refman /5.1/hi/storage-requirements.html

http://www.informit.com/articles/article.aspx ?p=1238838&seqNum=2

http://bitfilm. नेट/2008/03/24/बचत-बाइट्स-कुशल-डेटा-भंडारण-mysql-भाग-1/

ध्यान देने वाली एक बात यह है कि CHAR और VARCHAR दोनों के साथ मिश्रित टेबल पर, mySQL CHAR को VARCHAR में बदल देगा

RecNum पूर्णांक_प्रकार UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (RecNum)

MySQL हमेशा मानक SQL और ISO 8601 विनिर्देशों के अनुसार, पहले वर्ष के साथ तिथियों का प्रतिनिधित्व करता है

विविध:

कुछ MySQl कार्यक्षमता को बंद करने के परिणामस्वरूप छोटी डेटा फ़ाइलें और तेज़ पहुँच प्राप्त होगी। उदाहरण के लिए:

--datadir डेटा निर्देशिका निर्दिष्ट करेगा और

--skip-innodb inno विकल्प को बंद कर देगा और आपको 10-20M की बचत करेगा

अधिक यहाँhttp://dev.mysql.com/tech -संसाधन/लेख/mysql-c-api.html

अध्याय 7 डाउनलोड करें - मुफ़्त

InnoDB ट्रांजेक्शनल है लेकिन इसके साथ एक परफॉर्मेंस ओवरहेड भी आता है। मैंने पाया है कि MyISAM टेबल मेरी 90% परियोजनाओं के लिए पर्याप्त हैं। गैर-लेन-देन-सुरक्षित तालिकाओं (MyISAM) के अपने कई फायदे हैं, जो सभी इसलिए होते हैं क्योंकि:

कोई लेन-देन ओवरहेड नहीं है:

बहुत तेज़

कम डिस्क स्थान की आवश्यकताएं

अपडेट करने के लिए कम मेमोरी की आवश्यकता होती है

प्रत्येक MyISAM तालिका डिस्क पर तीन फ़ाइलों में संग्रहीत होती है। फ़ाइलों के नाम होते हैं जो तालिका के नाम से शुरू होते हैं और फ़ाइल प्रकार को इंगित करने के लिए एक एक्सटेंशन होता है। एक .frm फ़ाइल तालिका स्वरूप को संग्रहीत करती है। डेटा फ़ाइल में एक .MYD (MYData) एक्सटेंशन है। अनुक्रमणिका फ़ाइल में एक .MYI (MYIndex) एक्सटेंशन है।

ये फ़ाइलें कर सकती हैं MySQL एडमिनिस्ट्रेटर बैकअप फीचर का उपयोग किए बिना एक स्टोरेज लोकेशन पर कॉपी किया जा सकता है जो समय लेने वाली है (इसलिए रिस्टोर है)

चाल इन फ़ाइलों की एक प्रति बना रही है और फिर तालिका को DROP कर रही है। जब आप फ़ाइलों को वापस रखेंगे तो MySQl उन्हें पहचान लेगा और टेबल ट्रैकिंग को अपडेट कर देगा।

अगर आपको बैकअप/पुनर्स्थापित करना होगा,

किसी बैकअप को पुनर्स्थापित करना, या किसी मौजूदा डंप फ़ाइल से आयात करना आपके प्रत्येक टेबल पर मौजूद इंडेक्स और प्राथमिक कुंजियों की संख्या के आधार पर एक लंबा समय ले सकता है। आप अपनी मूल डंप फ़ाइल को निम्नलिखित के साथ घेरकर संशोधित करके इस प्रक्रिया को नाटकीय रूप से तेज कर सकते हैं:

SET AUTOCOMMIT = 0;
SET FOREIGN_KEY_CHECKS=0;

.. your dump file ..

SET FOREIGN_KEY_CHECKS = 1;
COMMIT;
SET AUTOCOMMIT = 1;

पुनः लोड की गति को अत्यधिक बढ़ाने के लिए, SQL कमांड जोड़ें SET AUTOCOMMIT =0; डंप फ़ाइल की शुरुआत में, और COMMIT जोड़ें; अंत तक आदेश।

डिफ़ॉल्ट रूप से, ऑटोकॉमिट चालू है, जिसका अर्थ है कि डंप फ़ाइल में प्रत्येक सम्मिलित कमांड को एक अलग लेनदेन के रूप में माना जाएगा और अगले एक के शुरू होने से पहले डिस्क पर लिखा जाएगा। यदि आप इन आदेशों को नहीं जोड़ते हैं, तो एक बड़े डेटाबेस को InnoDB में पुनः लोड करने में कई घंटे लग सकते हैं...

एक MySQL तालिका में एक पंक्ति का अधिकतम आकार 65,535 बाइट्स है

MySQL 5.0.3 में VARCHAR की प्रभावी अधिकतम लंबाई और =अधिकतम पंक्ति आकार (65,535 बाइट्स)

संग्रहीत होने पर VARCHAR मान गद्देदार नहीं होते हैं। मानक SQL के अनुरूप, जब मान संग्रहीत और पुनर्प्राप्त किए जाते हैं, तो अनुगामी रिक्त स्थान बनाए रखा जाता है।

MySQL में CHAR और VARCHAR मानों की तुलना अनुगामी रिक्त स्थान की परवाह किए बिना की जाती है।

CHAR का उपयोग करने से आपकी पहुंच तभी तेज होगी जब पूरा रिकॉर्ड निश्चित आकार का हो। यही है, यदि आप किसी भी चर आकार की वस्तु का उपयोग करते हैं, तो आप उन सभी को परिवर्तनशील आकार भी बना सकते हैं। एक तालिका में एक चर का उपयोग करके आपको कोई गति नहीं मिलती है जिसमें एक VARCHAR भी होता है।

MySQL 5.0.3 के अनुसार 255 वर्णों की VARCHAR सीमा 65535 वर्णों तक बढ़ा दी गई थी

पूर्ण-पाठ खोज केवल MyISAM तालिकाओं के लिए समर्थित हैं।

http://dev.mysql.com/doc/refman /5.0/hi/fulltext-search.html

BLOB कॉलम में कोई वर्ण सेट नहीं होता है, और सॉर्टिंग और तुलना कॉलम मानों में बाइट्स के संख्यात्मक मानों पर आधारित होती है

यदि सख्त SQL मोड सक्षम नहीं है और आप किसी BLOB या TEXT कॉलम को मान निर्दिष्ट करते हैं जो कॉलम की अधिकतम लंबाई से अधिक है, तो मान को फिट करने के लिए छोटा कर दिया जाता है और एक चेतावनी उत्पन्न होती है।

उपयोगी कमांड:

सख्त मोड की जाँच करें:@@global.sql_mode चुनें;

सख्त मोड बंद करें:

सेट @@global.sql_mode='';

सेट @@global.sql_mode='MYSQL40'

या निकालें:sql-mode="STRICT_TRANS_TABLES,...

mytable . से कॉलम दिखाएं

virtualcolumn के रूप में अधिकतम (नाम गणना) चुनें वर्चुअल कॉलम द्वारा mytable ऑर्डर से

http://dev.mysql.com /doc/refman/5.0/hi/group-by-hidden-fields.html

http://dev.mysql .com/doc/refman/5.1/hi/information-functions.html#function_last-insert-id last_insert_id()

आपको वर्तमान थ्रेड अधिकतम (pkcolname) में डाली गई अंतिम पंक्ति का पीके आपको कुल मिलाकर अंतिम पीके प्राप्त करता है।

नोट:यदि तालिका खाली है तो अधिकतम (pkcolname) रिटर्न 1 mysql_insert_id() मूल MySQL C API फ़ंक्शन mysql_insert_id() के रिटर्न प्रकार को एक प्रकार के लंबे (PHP में int नामित) में परिवर्तित करता है।

यदि आपके AUTO_INCREMENT कॉलम में BIGINT का कॉलम प्रकार है, तो mysql_insert_id() द्वारा दिया गया मान गलत होगा। इसके बजाय, SQL क्वेरी में आंतरिक MySQL SQL फ़ंक्शन LAST_INSERT_ID() का उपयोग करें।

http://dev.mysql .com/doc/refman/5.0/hi/information-functions.html#function_last-insert-id

बस ध्यान दें कि जब आप किसी तालिका में डेटा सम्मिलित करने का प्रयास कर रहे हैं और आपको त्रुटि मिलती है:

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') 

अनुस्मारक कि `` का उपयोग MySQL फ़ील्ड, डेटाबेस या टेबल को परिभाषित करने के लिए किया जाता है, मानों को नहीं;)

क्वेरी के दौरान सर्वर से कनेक्शन टूट गया:

http://dev.mysql.com/doc/refman /5.1/hi/gone-away.html

http://dev.mysql.com/doc /refman/5.1/hi/packet-too-large.html

http://dev.mysql.com/doc/refman /5.0/hi/server-parameters.html

http://dev.mysql.com/doc/refman /5.1/hi/show-variables.html

http://dev.mysql.com/doc/refman /5.1/hi/option-files.html

http://dev.mysql.com/doc/refman /5.1/hi/error-log.html

ट्यूनिंग क्वेरी

http://www.artfulsoftware.com/infotree/queries.php?&bw =1313

मेरे विचार से बोनस अर्जित करने के लिए इतना ही पर्याप्त होना चाहिए... कई घंटों के फल और एक बेहतरीन मुफ़्त के साथ कई प्रोजेक्ट डेटाबेस। मैं विंडोज़ प्लेटफॉर्म पर ज्यादातर MySQL के साथ एप्लिकेशन डेटा सर्वर विकसित करता हूं। सबसे खराब गड़बड़ी जो मुझे ठीक करनी पड़ी वह थी

अंतिम MySQL लीगेसी डेटाबेस दुःस्वप्न

यहां उल्लिखित कई तरकीबों का उपयोग करके तालिकाओं को उपयोगी बनाने के लिए अनुप्रयोगों की एक श्रृंखला की आवश्यकता होती है।

अगर आपको यह आश्चर्यजनक रूप से मददगार लगा, तो इसे वोट करके अपना धन्यवाद व्यक्त करें।

मेरे अन्य लेख और श्वेत पत्र भी देखें:www.coastrd.com



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL डेटाबेस XAMPP Manager-osx में प्रारंभ नहीं होगा

  2. जहां कुछ समय से अधिक पुराना डेटाटाइम (उदा. 15 मिनट)

  3. दो टेबल के साथ मैसकल क्वेरी php

  4. Java SQL दिनांक 1 दिन से बंद है

  5. PHP MySQL सेट कनेक्शन टाइमआउट