КомпютриДанни на Guide-Bulgaria.com

"Клопки" ГСД-Team Актуализация на MySQL

Всеки програмист, който трябваше да работи с бази данни, се сблъскват с най-DML оператори (в превод от английски - .. "за боравене с данни език"), като например избиране, Insert, Delete и Update. MySQL-транспорт също използва арсенала си от всички по-горе команди.

Тези твърдения се логично да говорят за своите срещи - записи избиране, поставете нови стойности, актуализиране на съществуващите данни, пълна, или в съответствие с определените условия, премахването на информацията в базата данни. теоретични материали за обучение са описани подробно с принципа на работа на всяка команда и техния синтаксис, но никъде не са намерени препратки към трудностите, които могат да възникнат на практика по време на употреба. Този материал ще бъде посветен на разглеждане на някои от тях.

Накратко за DML извлечения (въвеждане)

Преди да продължим, е необходимо още веднъж да си припомним повече подробности за целите на всяка функция. Ние ще имаме двама оператори, заинтересовани по-подробно: Insert и Update, тъй като това зависи от тях произтичат основните трудности при обработката на големи обеми от данни.

Трябва да се започне с командата Insert, а след това постепенно се премине към актуализация. MySQL система, като всеки друг съвременен база данни, използвайте операцията за въвеждане за добавяне на нови записи на съществуващите таблици база данни. Синтаксисът на тази операция е много проста и ясна. Той съдържа списък на полета, които ще бъдат направени до стойностите, дестинацията - име на масата - и веднага въвежда списък с данни. Всеки път, когато извършвате базата данни Insert ще се актуализира с нови стойности.

Актуализация изявление

Въпреки това, на практика, доста често има ситуации, които по някаква набор от данни, една или повече стойности на атрибутите трябва да бъдат актуализирани. Като пример, ситуация, в която дружеството е реформа с допълнително преименуване на основните цехове. В този случай е необходимо да се направят промени за всеки отдел. Ако само се промени името, тогава проблемът може да бъде решен много бързо. Въпреки това, ако се променя кодирането на всеки компонент на цялото производство, което обикновено служи като първичен ключ, това е, от своя страна, води до промени в информацията, както и за всеки служител.

Актуализация - ГСД-оператор може да се приложи, за да се реши този проблем. MySQL- сървъра, работещи с голям брой записи, с помощта на изявление на актуализация, изпълни необходимата заявка и решаване на проблема. Но понякога се случи по време на актуализацията не е съвсем ясно, и е трудно да се обясни сложност. Това е, което причинява трудността на записи се обновяват, ще бъдат обсъдени по-нататък.

Малкото, което е било казано на теория ...

Актуализация на отбора, както е отбелязано по-горе, се използва за актуализиране на съществуващите записи в таблицата. На практика обаче, клиентите достъп до сървърите на базата данни не винаги са известни, има определен набор от данни в таблиците, или не. Предварителна проверка на наличието на данни в базата данни за последващото осъвременяване на резултатите в отнема време и отпадъци на сървърни възможности.

За да се избегне това, в специална база данни MySQL структура - Поставете * Update, в която вмъкване или обновяване на може да се извърши независимо една от друга. Това е, когато на масата има запис за определена състояние, ще бъдат актуализирани. Ако данните няма да бъдат намерени на условията считат, MySQL-сървър е в състояние да изпълни искането качени данни.

Актуализация на данни, когато има дубликати

Важен елемент от тази Част - искане до системата за управление на база данни на MySQL - «На Duplicate Key Актуализация» префикс. Пълният синтаксис е както следва: «вмъкнете в test_table (employer_id, име) стойности ( 1," Абрамов ") на дубликат ключ актуализация LAST_MODIFIED = NOW (); ".

Такова искане може да се използва за записване на действията на, например, определяне на времето предприятие пресичане преминаване последвано от преброяване интервал от време и забавяне откриване. За да не се правят на масата няколко записа, което е достатъчно за всеки служител да водят регистър с постоянно актуализиране. Съвпада проверка дизайн позволява това.

Всъщност проблеми ...

Като се има предвид по-горе пример за действието на регистрацията на персонала на входа, тъй като проблемът е използването samouvelichivayuschihsya (авто _ прираста) полета, които обикновено се използват за запълване на основните ключови стойности (първична _ ключ). Ако използвате MySQL Актуализация команда в дизайн с Insert автоматично _ увеличение, областта се увеличава непрекъснато.

По същия начин, всичко се случва, когато се използва за замяна строителство в случай на дублиране на откриване. "Auto-увеличение" стойност се увеличава дори и в случаите, когато това не е необходимо. Поради това, възникват проблеми стойности препълване преминават или диапазони, които впоследствие да доведе до повреда на системи за управление на бази данни.

Най-вероятно проблемът

Описва проблема трябва да се разглеждат уеб разработчици, тъй като това е най-често при системи с много потребители (уебсайтове, портали, и така нататък. П.), Когато системата се изпълнява голям брой процедури Insert и Актуализиране на MySQL.

PHP - апел към базата много често се извършва. Следователно, за да се постигнат максимални граници, определени като auto_increment, настъпва бързо, и в анализа на трудностите, които срещат, за да се установят причините просто няма да работи.

Поради това, разработчиците са насърчавани да бъдат внимателни с използването на дизайна на дубликат от ключово значение за актуализация команда MySQL. изберете - заявки, когато достъп до сървъра на базата данни ще работи без грешка, но добавянето на нови записи към базата данни е изпълнен с неприятни ситуации в бъдеще да доведе до сериозни проблеми. Алтернативно, тя се препоръчва за автоматично инкрементиране полета първоначално проверяват за техните записи, и след това да ги държат актуализира.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 bg.unansea.com. Theme powered by WordPress.