Jump to content
php.lv forumi

Datubāzes versijkontroles risinājumi


Zefirs

Recommended Posts

Vai vari pamatot savu ironiju?

 

Vispār jau modernās ORM ir iebūvēta kaudze dažādu automātisku optimizāciju un kešošanu, tā kā vēl nevar zināt, vai vidējs programmētājs jebkad dabūs ko ātrāku, ko var panākt ar ORM.

 

 

P.S.:

Vēl bieži ir tā, ka tie, kas pirmo reizi nonāk pie ORM, īsti nezin kā tas strādā un problēmas sākas, kad pieprasot relācijas objektus, tie tiek ielasīti katrs ar savu kveriju.

Moderna ORM bieži ļauj:

1) pateikt, ka tādas un tāds relācijas objektus ielādēt uzreiz (ar join)

2) uzrakstīt pašam savu join kveriju, kurā tiek pateikt, kuri relācijas objekti un kā ir jāielādē, bet ORM bibliotēka tev atgriezis smukas objektu kolekcijas, izpildot tikai vienu kveriju.

 

Ja šis tiek ņemts vērā, ORM ir tik pat ātrs attiecībā uz kveriju daudzumu un izpildes laiku, taču klāt nāk kaudze ar bonusiem.

Edited by codez
Link to comment
Share on other sites

Jā par šo arī iedomājos. Tas darbojas, ja sistēma jāveido no 0, bet esošas sistēmas pārnest uz orm ir dažreiz neiespējami.

 

Starp citu vajag papētīt, bet labiem ORM ir arī iespēja no esošas db automātiski uzģenerēt visus modeļus.

Ja runa ir par PHP, tad man šķiet, ka Doctrine to mācēja tīri labi.

 

 

P.S.:

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/tools.html#reverse-engineering

 

bet škiet, ka jāņem vērā:

 

Reverse Engineering is a one-time process that can get you started with a project. Converting an existing database schema into mapping files only detects about 70-80% of the necessary mapping information. Additionally the detection from an existing database cannot detect inverse associations, inheritance types, entities with foreign keys as primary keys and many of the semantical operations on associations such as cascade.

Edited by codez
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...