![]()
![]()
මේ මචන් explain කලාම
මචන් මට තේරෙන විදිහට නම් මේක හොදයි...
අවුලක් පෙන්නේ නැහැ ලොකුවට අර using where කියන එක ඇරුනහම...
මට හිතෙන්නේ ෆුල් ටේබල් එකම රීඩ් වෙනවා ඉන්ඩෙක්ස් කරත්...
ඔකේ වෙන මොකුත් ඉන්ඩෙක්ස් නැද්ද ?

![]()
![]()
මේ මචන් explain කලාම
අවුලක් පෙන්නේ නැහැ ලොකුවට අර using where කියන එක ඇරුනහම...
මට හිතෙන්නේ ෆුල් ටේබල් එකම රීඩ් වෙනවා ඉන්ඩෙක්ස් කරත්...

![]()
![]()
මේ මචන් explain කලාම
CREATE TABLE `products` (
`pid` INT(6) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(200) NOT NULL,
`ptype` VARCHAR(10) NOT NULL,
PRIMARY KEY (`pid`)
)


bump
bump
මේක හොදයි කිව්වෙ කෝකද?මචන් මට තේරෙන විදිහට නම් මේක හොදයි...අවුලක් පෙන්නේ නැහැ ලොකුවට අර using where කියන එක ඇරුනහම...
මට හිතෙන්නේ ෆුල් ටේබල් එකම රීඩ් වෙනවා ඉන්ඩෙක්ස් කරත්...
ඔකේ වෙන මොකුත් ඉන්ඩෙක්ස් නැද්ද ?![]()
bump
bump
Thanks 14+A. සිරියා;21309956 said:
එකස්ප්ලේන් එක දැන්ම බන්,query explain ekath danna nathuwa kiyanna amarui.

varchar -> char
nvarchar -> nchar
may give you a little performance gain![]()
How to deal with properly..![]()
int කල බන් කිසිම වෙනසක් නෑ.ptype int කරලා where එකේදී
Code:SELECT * FROM products WHERE ptype = 1ඔය වගේ බලපන්..මට හිතෙන්නේ අඩු වෙනවා සුවර්Code:SELECT * FROM products WHERE ptype = 2
ptype ගොඩක් තියෙනවා නම් එකට වෙනම table එකක් ගන්න,simple
ptype_id,ptype_name
ඔය Slow වෙන්න හේතුව WHERE ptype = 'Inventory' එකේ words එකක්නේ compare වෙන්නේ එකයි..ඕක int උන ගමන් අඩු වෙනවා![]()
SELECT * FROM varinats WHERE ptype = 1

"EXPLAIN" එකක් දාල බලපන් මචන් ඇයි අන්තිම එක ස්ලෝව් වෙන්නේ කියල..ඉන්ඩෙක්ස් එක පාවිච්චි වෙන්නේ නැතිද දන්නේ නැහැ...අනිත් එක බන් හැම එකටම ඉන්ඩෙක්ස් දැම්ම කියල වැඩක් නැහැ...
table එකේ මුළු ඩේටා ප්රමනානෙන් එක % එකක් තියෙනවා...ඒ ගානට වඩා එක භාවිත වෙලා නැත්තම් ඒකට ඉන්ඩෙක්ස් එකක් දාල වැඩක් නැහැ...තව ස්ලෝ වෙන්න පුළුවන්..
අනිත් එක වෙනම ටේබල් එකක් ගහන එක හොදයි කොහොමත් ptype එකට..මොකද ptype එක රිපීට් වෙනවනේ..Normal form රූල්ස් වයලේට් වෙනවා නේ එහෙම උනාද? නැද්ද? මන්ද...
varchar comparison එකට වඩා ඔතන ෆොරීන් කී එකක් (int) එකක් එක්ක කම්පෙයා කරන එක ෆාස්ට් තමයි මොකද varchar එකකට වඩා අඩු ඉඩක් තමයි int එකකට ඕනේ...ඒ නිසා එක ෆාස්ට් කියල බැලු බැල්මටම තේරෙනවා,,,එත් ඉන්ඩෙක්ස් එකක් දාල නිසා ලොකු වෙනසක් වෙන්න බැහැ...
Explain කුවරී එකක් අරන් බලපන්..![]()
SELECT * FROM varinats INNER JOIN category ON varinats.ptype = category.id WHERE category.id = 1
මේක කලා බන් ඒත් වාසියක් නෑනෙ.Tables 2 kata kadanna, ptype ekata wenama table ekkak dala, eeke id eka use karanna product eke foreign key ekak widihata.
ehema karoth wenama index ekak oni ne, anika eeka thamay karanna thiyana hondama widiha.
anika ara kenek kiwa wage OR adu karala ee wenuwa IN use karanna. See: this

මේක හොදයි කිව්වෙ කෝකද?
ප්රයිමරි කී ඉන්ඩෙක්ස් එක තියෙනව..
නෑ වෙන මුකුත් නෑ බන්. ඔය ෆීල්ඩ්ස් ටික විතරයි.

එතන කුවරි දෙකක් තියෙනව. ඒකයි කෝකද කියල ඇහුවෙ.හොදයි කිව්වේ මචන් ඉතින් ඔය පේන ටික අනුව බන් අවුලක් නැහැනේ...
සමහර විට ඩේටා ටයිප් වෙනස් කරොත් මොකක් හරි වෙන්න පුළුවන්...
මේක රන් කරලා බලපන් උඹේ ටේබල් එකේ...අන්තිම ෆීල්ඩ් එකේ පෙන්නයි ඔප්ටිමල් ඩේටා ටයිප් එක...
SELECT * FROM varinats PROCEDURE ANALYSE();![]()

එතන කුවරි දෙකක් තියෙනව. ඒකයි කෝකද කියල ඇහුවෙ.![]()
ඉන්ඩෙක්ස් එක දාපු එකේ රෝව්ස් ගාන ලක්ෂ දෙකට විතර අඩු වෙලානේ 
ඒත් ටටිම් එක වැඩීනෙ බන්. ඒකයි අවුල. ඩබල් වෙලා.හොඳයි කිව්වේ දෙවෙනි එකට...ඉන්ඩෙක්ස් එක දාපු එකේ රෝව්ස් ගාන ලක්ෂ දෙකට විතර අඩු වෙලානේ
![]()


තෑන්ක්ස් මචන්. මම ඕක ඉන්ස්ටෝල් කරල තියෙන්නෙ. ඒත් ඔන් කරන්නෙ නෑ. සිස්ටම් රෙශෝසස් යූස් කරනව වැඩීනෙ බන්.. අනිත් ඒව හිර වෙන්න ගන්නව. තෑන්ක්ස් 14+MySQL workbench 6CE install karala `dashboard` tab ekata yanna machan. Eke query analyser ekak thiyenawa. ubata idea ekak ganna puluwan ethakota mona queries da run wenne, kothanada slow wenne kiyala.
![]()
http://mysqlworkbench.org/2014/04/whats-new-in-mysql-workbench-6-1/
ඒත් ටටිම් එක වැඩීනෙ බන්. ඒකයි අවුල. ඩබල් වෙලා.
මම ඇනලයිස් කලා ඊනම් දාන්න කියන්නෙ. අපෝ ඒක මල ඇනයක් වෙනව පස්සෙ. ඒත් දාල බැලුව. නතින්ග් චේන්ග්ස් බන්.. මට පේන්නෙ හාඩ්වෙයා අවුලක් වගේ.
ලගදි රෙප් දීල

අලුත් ප්රඩක්ට් ටයිප් එකක් ඇඩ් කරොත් ටේබල් එකම අලුතෙන් වෙනස් කරන්න වෙනවා...varchar වෙනවට char දාල බැලුවොත්? 
nosql dapan


උඹ කියනකන් ඉඳල තියෙන්නේ...


උඹ කියනකන් ඉඳල තියෙන්නේ...
යකෝ කොටුවට යන්න ඕනේ එකාට කොටුවට යන්න එපා වැල්ලවත්තට යන්න කියල හරියනවද?![]()


na ban. u ithin thathpareta performance balanawa nam document db ekak use kala nam iwarai ne![]()


