Hacker News

C # imirongo yicecekeye yica SQL Seriveri yawe muri Dapper

Ibitekerezo

5 min read Via consultwithgriff.com

Mewayz Team

Editorial Team

Hacker News

C # Imirongo iratuza bucece imikorere yububiko bwawe

Niba uri umushinga wa .NET ukoresheje Dapper kugirango ubone amakuru yawe, wahisemo neza imikorere nuburyo bworoshye. Dapper ni micro-ORM itangaje ituma wegera ibyuma, ukirinda hejuru kandi bigoye kurwego runini. Ariko izo mbaraga zizana inshingano. Ingeso isa ninzirakarengane yo kwandikisha, ikwirakwira muri C # porogaramu, birashoboka ko ibangamira imikorere ya SQL Seriveri: ukoresheje umurongo wanditseho umurongo wibibazo bya SQL. Iyi myitozo yica bucece imikorere yububiko bwawe bwateguwe neza, biganisha kubibazo bitinda kandi uburambe bwabakoresha. Kurubuga nka Mewayz, aho gukoresha neza amakuru ari ngombwa mugucunga ibikorwa byubucuruzi, uyu ni umwicanyi ukora udashobora kugura.

Ironderero Magic hamwe numukiza wa Parameterize

Icyambere, reka twumve impamvu indangagaciro ari ngombwa. Ububikoshingiro ni nkibipimo biri mu gitabo; yemerera SQL Seriveri kubona amakuru atabanje gusikana page yose (cyangwa umurongo). Iyo ukoresheje ikibazo hamwe ningingo ya 'AHO', ikibazo optimizer ireba indangagaciro nziza yo gukoresha. Urufunguzo rwubumaji ni uguteganya. Iyo ukoresheje ikibazo cyibanze, utanga optimizer igaragara neza, ihamye yo gukorana na.

Dore itandukaniro. Suzuma izi ngero zombi Dapper:

// Ibi ni bibi - Guhuza umurongo
var umukoreshaId = "12345";
var sql = $ "HITAMO * KUBAKORESHE AHO UmukoreshaId = {umukoreshaId}";
var umukoresha = guhuza. Ikibazo (sql);

na

// Ibi nibyiza - Ikibazo cya Parameterized
var sql = "HITAMO * KUBAKORESHE AHO UmukoreshaId = @UserId";
var umukoresha = guhuza. Ikibazo (sql, shyashya {UmukoreshaId = 12345});

Urugero rwa mbere rukora umugozi wihariye wa SQL kuri buri `userId` zitandukanye. Urebye kuri SQL Seriveri, irabona ikibazo gishya rwose buri gihe: kimwe kuri `UserId = 12345`, ikindi kuri` UserId = 67890`, nibindi. Urugero rwa kabiri rwohereza kimwe ikibazo cyumugozi buri gihe, gusa uhindura ibipimo byagaciro. Uku guhuzagurika ni ishingiro ryibibazo bikora neza.

Uburyo Ikurikiranyabihe Abanditsi Sabotage Ikibazo Cyateganijwe Caking

Intandaro yikibazo kiri mubibazo byateganijwe. SQL Seriveri ikusanya umugozi wa SQL muri gahunda yo gusohoza - igishushanyo mbonera cyo kugarura amakuru. Iki cyegeranyo gihenze, SQL Seriveri rero ihagarika gahunda yo kuzikoresha. Hamwe nibibazo byerekanwe, gahunda ya `HITAMO * KUBAKORESHE AHO UmukoreshaId = @ UmukoreshaId` yakusanyirijwe rimwe, cashe, kandi ikoreshwa kuri buri guhamagarwa gukurikira, tutitaye ku gaciro nyako k'irangamuntu. Iyi gahunda yihishe yateguwe kugirango ikoreshe neza indangagaciro ku nkingi ya `UserId`.

Iyo ukoresheje umurongo wimirongo isanzwe, buri gaciro kihariye gatanga umugozi wihariye wa SQL. SQL Seriveri ifata buri kimwe nkikibazo gishya, kigahatira guta CPU cyikusanyamakuru no gukora gahunda nshya yo gukora buri gihe. Ibi byuzura byihuse gahunda ya cache hafi ya imwe, gahunda imwe yo gukoresha, kwirukana izindi gahunda zingirakamaro no guta kwibuka. Kunegura cyane, optimizer akenshi ntishobora gukoresha byimazeyo indangagaciro nziza kubibazo bimwe, rimwe na rimwe bikavamo imbonerahamwe yo gusikana aho gushakisha. Indangagaciro-yimikorere yawe ihinduka imitako idafite akamaro.

Ingaruka Yimikorere Ntushobora Kwirengagiza

Ingaruka ziyi anti-pattern zirakomeye kandi zuzuzanya mugihe.

💡 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 →

Ready to put this into practice?

Join 30,000+ 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