છેલ્લા ૧૦ વર્ષ થી હું એસ કયું એલ સર્વર ના વિવિધ વર્ઝન પર કામ કરું છું અને મોટા ભાગે પેરફોરમન્સ ટ્યુનીંગ નું કામ સૌથી વધુ વખત કરવાનું આવ્યું છે. જયારે પરફોરમન્સ ટ્યુનીંગ કરતી વખતે સૌથી પેહલા ક્વિક ફિક્ષ કરવું પડે જેથી કામ શરુ થઇ જાય અને ત્યારબાદ આપણે અને પર્મેનંટ સોલ્યુશન કરી શકીએ. મોટા ભાગે એવું જોવા મળે છે કે ડેટાબેઝ ની સાઈઝ એમની અપેક્ષા કરતા વધી ગઈ હોય, ક્યારેક ૩૦૦ ગણી. ક્યારેક તકલીફ ખોટા ડેટા ટાઇપ ને કારણે હોય છે તો ક્યારેક ઈન્ડેક્ષ ને કારણે. તેથીજ આપણે જયારે પણ એપ્લિકેશન ડીઝાઇન કરીએ ત્યારે ખુબજ કાળજી રાખવી જેથી ભવિષ્ય માં આપણને તકલીફ ના પડે.
અહી, હું એવા કોમન પોઈન્ટ્સ ની વાત કરું છું કે જે એટલા સામાન્ય છે કે આપણે એના તરફ ધ્યાન નથી આપતા અને આગળ જઈ ને આપણે હેરાન થવું પડે છે.
મારા અનુભવ ને આધારે મેં ૧૦ પોઈન્ટ્સ તારવ્યા છે, જે માટે હું આર્ટીકલ ની સીરીઝ લખવાનો છું અને આ એનો પહેલો ભાગ છે.
આશા છે કે આ આર્ટીકલ તમારા ૨ પ્રશ્ન નો ઉત્તર આપી શકશે:
૧. કયા ડેટાટાઈપ યુઝ કરવા ?
૨. વેરકેર અને એનવેરકેર માં શું તફાવત છે?
સૌથી પહેલી વાત જે ધ્યાન પર આવે છે તે એ છે "ડેટાટાઈપ ની લેન્ગ્થ". જયારે આપણે ટેબલ ડીઝાઇન કરીએ છીએ ત્યારે ડેટાટાઈપ ની લેન્ગ્થ સમજી વિચારી ને પસંદ કરવી જોઈએ. જયારે આપણને ખાતરી નાં હોય કે ડેટા ની લેન્ગ્થ શું હશે ત્યારે હંમેશા "વેરીએબલ લેન્ગ્થ" ના ડેટાટાઈપ યુઝ કરવા જોઈએ, જેમકે "એડ્રેસ" માટે એનવેરકેર યુઝ કરી શકીએ અને, જયારે આપણને ખાતરી હોય કે ડેટા ની લેન્ગ્થ શું હશે ત્યારે "ફિક્ષ લેન્ગ્થ" ના ડેટાટાઈપ યુઝ કરવા જોઇયે,જેમકે "જેન્ડર" માટે વેરકેર.
મેં એવા ઘણા કેસ જોયા છે કે જ્યાં "યુનિકોડ" ડેટાટાઈપ યુઝ કરવામાં આવ્યો હોય પરંતુ ખરેખર એની જરૂર નથી હોતી. આના કારણે ડેટાબેઝ ની સાઈઝ અણધારી રીતે અને અપેક્ષા બહાર ની વધી જાય છે; કહેવાની જરૂર નથી કે આ ખોટા ડેટાટાઈપ યુઝ કરવાથી થઇ હોય શકે. એસ કયું એલ સર્વર મુરભૂત રીતે બે પ્રકાર ના ડેટાટાઈપ સપોર્ટ કરે છે એક "યુનિકોડ" અને "નોન-યુનિકોડ". યુનિકોડ એટલે યુટીએફ -૧૬ (૧૬ બિટ પર કેરેક્ટર) જયારે નોન-યુનિકોડ એટલે યુટીએફ - ૮ (૮ બિટ પર કેરેક્ટર); હવે સ્વભાવીક છે કે જયારે તમે "યુનિકોડ" (એનવેરકેર કે એનકેર) યુઝ કરો છો ત્યારે તે ડબલ સ્પેસ રોકે છે. યુનિકોડ ત્યારેજ યુઝ કરવા જોઈએ જયારે તમારી અપ્લીકેશન અથવા વેબસાઈત માં તમે "મલ્ટી લીન્ગ્વ્લ" સપોર્ટ આપવા માંગતા હોવ.
તો હવે આપણે એક ઉદાહરણ જોઈએ; એક ટેબલ બનાવીશું જેમાં ૨ કોલમ હશે ૧ વેરકેર અને ૧ એનવેરકેર, પછી તેમાં ૨~૩ રેકોર્ડ ઇન્સર્ટ કરો અને len() ફન્કશન નો ઉપયોગ કરી કેરેક્ટર કાઉન્ટ કરો, અને datalength() ફન્કશન નો ઉપયોગ કરી કેટલી સ્પેસ રોકાઇ છે તે જાણો. તમે સ્ક્રીપ્ટ અહીંથી ડાઉનલોડ કરી શકો છો.
બીજી એક વાત, આપણે જયારે ડેટા ઇન્સર્ટ કરાવીએ ત્યારે તેને ટ્રીમ કરવા જોઈએ જેથી "વ્હાઈટ સ્પેસ" જગ્યા રોકી ના લે, આ આપણે એપ્લીકેશન લેયર અથવા તો ડેટાબેઝ લેયર દ્વારા કરી શકીએ.
અહિયાં, આ દ્વારા હું એવી સલાહ આપી રહ્યો છું કે યુનિકોડ ડેટાટાઈપ ત્યારેજ યુઝ કરવા જોઈએ જયારે તમારી અપ્લીકેશન અથવા વેબસાઈત માં તમે "મલ્ટી લીન્ગ્વ્લ" સપોર્ટ આપવા માંગતા હોવ; અને ત્યારે પણ યુનિકોડ ડેટાટાઈપ ને કાળજી પૂર્વક તે કોલમ પુરતી સીમિત રાખો. એટલા માટેજ આ સૌથી અગત્ય નો અને કાળજી માંગી લેતો વિષય છે.
જેમ મેં શરૂઆત માં કહ્યું તેમ, આતો સીરીઝ નો ૧લો આર્ટીકલ છે.....માટે અહી મુલાકાત લેતા રહો.