Logo lt.boatexistence.com

Kodėl eilučių sujungimas yra blogas?

Turinys:

Kodėl eilučių sujungimas yra blogas?
Kodėl eilučių sujungimas yra blogas?

Video: Kodėl eilučių sujungimas yra blogas?

Video: Kodėl eilučių sujungimas yra blogas?
Video: DO NOT Concatenate Strings Like This In Python, There's A Better Way. 2024, Gegužė
Anonim

Tai yra „stygų sujungimas“, ir tai yra bloga praktika: … Kai kurie gali sakyti, kad tai lėta, daugiausia todėl, kad gautos eilutės dalys nukopijuojamos kelis kartus Iš tikrųjų, kiekviename + operatoriui, Styginių klasė atmintyje paskiria naują bloką ir nukopijuoja viską, ką turi; plius priesaga sujungiama.

Ar eilučių sujungimas neveiksmingas?

Sujungimas nėra toks neefektyvus, nes šiuolaikiniai kompiliatoriai jį pakeičia efektyviu įgyvendinimu, pagrįstu StringBuilder (tai pamatysite, jei pažvelgsite į klasės failo baito kodą).

Kodėl eilučių sujungimas brangus?

Tai kainavo brangiai. Pirmiausia įsigilinkime į klausimą, kodėl tai brangu.„Java“kalboje eilutės objektai yra nekintami, o tai reiškia, kad kai jie bus sukurti, jo pakeisti nebegalite. Taigi, kai vieną eilutę sujungiame su kita, sukuriama nauja eilutė, o senesnė yra pažymėta šiukšlių surinkėjui.

Kokie pavojai kyla naudojant eilučių sujungimą SQL užklausoje?

1 Atsakymas

  1. Našumas: naudojant paruoštą teiginį, užklausos sintaksė turi būti išanalizuota tik vieną kartą, o prieigos kelias turi būti skaičiuojamas tik vieną kartą kiekvienam atskiram užklausos tipui. …
  2. Sauga: naudojant eilučių sujungimą su vartotojo pateiktais duomenimis visada gali kilti SQL įpurškimo atakų.

Ar lėtas eilučių sujungimas Python?

Toks elgesys neturėtų jūsų nustebinti: Python eilučių objektai yra nekintantys, todėl kiekvienas sujungimas sukuria naują eilutę, o ne modifikuoja esamą. Taip pat nenuostabu, kad kelių eilučių jungtys laikomos lėtomis.

Rekomenduojamas: