C # manoa e tape le leoa lau SQL Server index i Dapper | Mewayz Blog Skip to main content
Hacker News

C # manoa e tape le leoa lau SQL Server index i Dapper

Fa'amatalaga

11 min read Via consultwithgriff.com

Mewayz Team

Editorial Team

Hacker News

C# Strings o lo'o titina lemu lau fa'atinoga o fa'amaumauga

Afai o oe o se .NET atia'e e fa'aaoga le Dapper mo au fa'amatalaga, ua e faia se filifiliga sili mo le fa'atinoga ma le fa'afaigofie. O le Dapper o se micro-ORM mataʻina e faʻapipiʻi ai oe i le uʻamea, aloese mai le faʻaogaina ma le lavelave o faʻavaa tetele. Ae o lenei mana e sau faatasi ma le tiutetauave. O se masaniga fa'ailoga e foliga mama, o lo'o salalau i C# talosaga, e foliga mai e fa'aleaga le fa'atinoga o lau SQL Server: fa'aogaina le laina fa'asinotonu mo fesili SQL. O lenei faiga e fa'aumatia le leoa le aoga o au fa'amaumauga fa'amaumauga o fa'amaumauga ua fuafuaina ma le fa'aeteete, e o'o atu ai i fesili fa'aletonu ma le le lelei o le fa'aogaina o tagata. Mo fa'asalalauga e pei o Mewayz, lea e taua tele ai le fa'afoeina o fa'amaumauga lelei mo le fa'afoeina o fa'agaioiga pisinisi, ose fa'amamafa fa'atinoga e le mafai ona e gafatia.

O le Fa'ailoga Fa'ataulaitu ma le Fa'aola Fa'ata'atia

Muamua, se'i tatou malamalama pe aisea e taua tele ai fa'asino igoa. O se fa'amaumauga fa'amaumauga e pei o le fa'asino i totonu o se tusi; e fa'atagaina ai le SQL Server e su'e fa'amaumauga e aunoa ma le su'eina o itulau ta'itasi (po'o laina). A e fa'asolo se fesili ma se 'WHERE' fuaiupu, e su'e e le su'ega su'esu'e le fa'ailoga sili e fa'aoga. O le ki i lenei togafiti fa'ataulāitu o le va'aia. A e fa'aogaina se su'esu'ega fa'ata'atia, e te tu'uina atu i le tagata fa'alelei se fa'ata'ita'iga manino ma tumau e galue ai.

O le eseesega lenei. Mafaufau i faʻataʻitaʻiga nei e lua a Dapper:

// Le mea lea ole BAD - String Concatenation
var userId = "12345";
var sql = $"FILIFILI * MAI Tagata Fa'aaogā WHERE UserId = {userId}";
var user = connection.Query(sql);

fa'afeagai

// E LELEI lenei - Su'esu'ega Fa'ata'atia
var sql = "FILIFILI * MAI Tagata fa'aoga WHERE UserId = @UserId";
var user = connection.Query(sql, new {UserId = 12345});

O le fa'ata'ita'iga muamua e faia ai se manoa SQL tulaga ese mo 'userId' eseese uma. Mai le vaaiga a le SQL Server, o loʻo vaʻaia se fesili fou i taimi uma: tasi mo `UserId = 12345`, isi mo `UserId = 67890`, ma isi. O le fa'ata'ita'iga lona lua e lafo le samequery string i taimi uma, na'o le suia o le tau fa'ailoga. Ole fa'atumauina lea ole fa'avae ole fa'atinoga lelei ole fesili.

Fa'afefea le Fa'ailoga Tusia Sabotage Query Plan Caching

O le autu o le fa'afitauli o lo'o taoto ile Query Plan Cache. SQL Server e tu'ufa'atasia lau string SQL i se fuafuaga fa'atino-o se mamanu mo le auala e toe aumai ai fa'amaumauga. O lenei tuufaatasiga e taugata, o lea e teu ai e le SQL Server nei fuafuaga e toe faʻaaogaina. Fa'atasi ai ma fesili fa'avasega, o le fuafuaga mo `FILIFILI * FROM Users WHERE UserId = @UserId` o lo'o tu'ufa'atasia, fa'apipi'i, ma toe fa'aaoga mo so'o se valaau mulimuli ane, tusa lava po'o le a le tau ID moni. O lenei fuafuaga natia ua mamanuina e fa'aoga lelei ai le fa'asino upu i le koluma `UserId`.

A e fa'aogaina le manoa i totonu o le laina, o tau fa'apitoa ta'itasi e fa'atupuina ai se manoa SQL tulaga ese. E fa'aogaina e le SQL Server ia mea ta'itasi e pei o se fesili fou, fa'amalosia e fa'amama le ta'amilosaga o le CPU i le tu'ufa'atasia ma le faia o se fuafuaga fa'atino fou i taimi ta'itasi. O lenei mea e vave ona lolovaia ai le faʻaoga o le fuafuaga i le toetoe lava tutusa, faʻaoga tasi fuafuaga, faʻateʻaina isi fuafuaga aoga ma faʻaumatia manatuaga. O le mea e sili atu ona taua, e masani ona le mafai e le optimizer ona fa'aogaina le fa'ailoga sili ona lelei mo nei fesili e tasi, o nisi taimi e maua ai le su'esu'eina o le laulau ae le o se sailiga. O lau fa'ailoga maualuga fa'atinoga ua avea ma teuteuga le aoga.

O le Aafiaga o Fa'atinoga e Le Mafai ona E Fa'agaloina

O fa'ai'uga o lenei faiga fa'afeagai e ogaoga ma fa'aopoopo i le aluga o taimi.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →
  • Fa'aoga maualuga le PPU: O le tu'ufa'atasia o fesili faifaipea e fa'ateleina ai le PPU a lau 'upega tafa'ilagi.
  • Taimi Talia Fa'ase'e: E umi se taimi o fesili ona latou te misia le fa'aoga ma e mafai ona fa'atino su'ega atoa o le laulau.
  • Plan Cache Bloat: Ua poloka le cache i fuafuaga e tasi le fa'aoga, ua afaina ai le faatinoga o fesili uma ile server.
  • Aiga Tulaga Saogalemu: O lenei faiga e tatala ai le faitoto'a i osofa'iga tui SQL, o se fa'aletonu mata'utia e taofia ai fesili fa'avasega.

Mo se faiga fa'apisinisi e pei o Mewayz, lea e fa'afoeina fa'amatalaga fa'apitoa mo kamupani, o nei fa'afitauli e mafai ona fa'aletonu ai le tali atu o le talosaga, ma a'afia sa'o ai le gaosiga ma le fa'amalieina o tagata.

Fa'aleleia o le Fa'afitauli: Talia Parameter ma Toe Iloilo lau Fa'ailoga

O le fofo e faigofie ma fetaui ma faiga sili e tatau ona e mulimuli ai. Fa'aaoga i taimi uma fesili fa'avasega ma Dapper. E fa'afaigofieina e Dapper lenei mea e ala i le fa'atagaina oe e pasi fa'amaufa'ailoga e pei o ni mea e le ta'ua po'o ni fa'ailoga malosi. E le gata ina fa'amautu lau talosaga mai le tui SQL ae e fa'amautinoa ai fo'i e fa'aoga lelei au fesili ma e mafai ona fa'aogaina lelei au fa'ailoga.

E le gata i lea, ia mata'itu pea le fa'akomepiuta a lau SQL Server. Vaavaai mo se numera maualuga o fesili "Adhoc", e masani lava o se faʻailoga faʻaalia o lenei faʻafitauli. Fa'aoga meafaigaluega e pei o le SQL Server Management Studio (SSMS) e au'ili'ili ai fa'atinoga o fesili ma fa'ailoa su'esu'ega i mea e tatau ona fai ai sailiga. E ala i le fa'aogaina o le fa'avasegaga ma le mata'ituina fa'agaioiga, e te tatalaina ai le gafatia atoatoa o lau fa'amaumauga tu'ufa'atasiga, fa'amautinoaina e mafai e fa'avae e pei o Mewayz ona tu'uina atu le fa'atinoga vave ma fa'atuatuaina e mana'omia e pisinisi fa'aonaponei.

Fesili e Fai soo

C# Strings o lo'o titina lemu lau fa'atinoga o fa'amaumauga

Afai o oe o se .NET atia'e e fa'aaoga le Dapper mo au fa'amatalaga, ua e faia se filifiliga sili mo le fa'atinoga ma le fa'afaigofie. O le Dapper o se micro-ORM mataʻina e faʻapipiʻi ai oe i le uʻamea, aloese mai le faʻaogaina ma le lavelave o faʻavaa tetele. Ae o lenei mana e sau faatasi ma le tiutetauave. O se masaniga fa'ailoga e foliga mama, o lo'o salalau i C# talosaga, e foliga mai e fa'aleaga le fa'atinoga o lau SQL Server: fa'aogaina le laina fa'asinotonu mo fesili SQL. O lenei faiga e fa'aumatia le leoa le aoga o au fa'amaumauga fa'amaumauga o fa'amaumauga ua fuafuaina ma le fa'aeteete, e o'o atu ai i fesili fa'aletonu ma le le lelei o le fa'aogaina o tagata. Mo fa'asalalauga e pei o Mewayz, lea e taua tele ai le fa'afoeina o fa'amaumauga lelei mo le fa'afoeina o fa'agaioiga pisinisi, ose fa'amamafa fa'atinoga e le mafai ona e gafatia.

O le Fa'ailoga Fa'ataulaitu ma le Fa'aola Fa'ata'atia

Muamua, se'i tatou malamalama pe aisea e taua tele ai fa'asino igoa. O se fa'amaumauga fa'amaumauga e pei o le fa'asino i totonu o se tusi; e fa'atagaina ai le SQL Server e su'e fa'amaumauga e aunoa ma le su'eina o itulau ta'itasi (po'o laina). A e fa'asolo se fesili ma se 'WHERE' fuaiupu, e su'e e le su'ega su'esu'e le fa'ailoga sili e fa'aoga. O le ki i lenei togafiti fa'ataulāitu o le va'aia. A e fa'aogaina se su'esu'ega fa'ata'atia, e te tu'uina atu i le tagata fa'alelei se fa'ata'ita'iga manino ma tumau e galue ai.

Fa'afefea le Fa'asao Fa'amatalaga Fa'amatalaga Fa'aleaga Fuafuaga Fa'asao

O le autu o le fa'afitauli o lo'o taoto ile Query Plan Cache. SQL Server e tu'ufa'atasia lau string SQL i se fuafuaga fa'atino-o se mamanu mo le auala e toe aumai ai fa'amaumauga. O lenei tuufaatasiga e taugata, o lea e teu ai e le SQL Server nei fuafuaga e toe faʻaaogaina. Fa'atasi ai ma fesili fa'avasega, o le fuafuaga mo `FILIFILI * FROM Users WHERE UserId = @UserId` o lo'o tu'ufa'atasia, fa'apipi'i, ma toe fa'aaoga mo so'o se valaau mulimuli ane, tusa lava po'o le a le tau ID moni. O lenei fuafuaga natia ua mamanuina e fa'aoga lelei ai le fa'asino upu i le koluma `UserId`.

O le Aafiaga o Fa'atinoga e Le Mafai ona E Fa'agaloina

O fa'ai'uga o lenei faiga fa'afeagai e ogaoga ma fa'aopoopo i le aluga o taimi.

Fa'aleleia o le Fa'afitauli: Talia Parameter ma Toe Iloilo lau Fa'ailoga

O le fofo e faigofie ma fetaui ma faiga sili e tatau ona e mulimuli ai. Fa'aaoga i taimi uma fesili fa'avasega ma Dapper. E fa'afaigofieina e Dapper lenei mea e ala i le fa'atagaina oe e pasi fa'amaufa'ailoga e pei o ni mea e le ta'ua po'o ni fa'ailoga malosi. E le gata ina fa'amautu lau talosaga mai le tui SQL ae e fa'amautinoa ai fo'i e fa'aoga lelei au fesili ma e mafai ona fa'aogaina lelei au fa'ailoga.

O Au Meafaigaluega uma Pisinisi i le Nofoaga e Tasi

Taofi le taufetuua'i o le tele o polokalame. Mewayz tu'ufa'atasia 208 mea faigaluega mo na'o le $49/masina - mai fa'amaumauga ile HR, fa'ailoga ile au'ili'ili. Leai se credit card e mana'omia e amata ai.

Tofotofo le Mewayz Free →

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 6,208+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 6,208+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime