<?xml version="1.0" encoding="UTF-8"?>
<record
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd"
    xmlns="http://www.loc.gov/MARC21/slim">

  <leader>04484nam a22005055i 4500</leader>
  <controlfield tag="001">979-8-8688-0069-6</controlfield>
  <controlfield tag="003">DE-He213</controlfield>
  <controlfield tag="005">20251030110917.0</controlfield>
  <controlfield tag="007">cr nn 008mamaa</controlfield>
  <controlfield tag="008">240108s2024    xxu|    s    |||| 0|eng d</controlfield>
  <datafield tag="020" ind1=" " ind2=" ">
    <subfield code="a">9798868800696</subfield>
    <subfield code="9">979-8-8688-0069-6</subfield>
  </datafield>
  <datafield tag="024" ind1="7" ind2=" ">
    <subfield code="a">10.1007/979-8-8688-0069-6</subfield>
    <subfield code="2">doi</subfield>
  </datafield>
  <datafield tag="050" ind1=" " ind2="4">
    <subfield code="a">QA76.9.D3</subfield>
  </datafield>
  <datafield tag="072" ind1=" " ind2="7">
    <subfield code="a">UN</subfield>
    <subfield code="2">bicssc</subfield>
  </datafield>
  <datafield tag="072" ind1=" " ind2="7">
    <subfield code="a">COM021000</subfield>
    <subfield code="2">bisacsh</subfield>
  </datafield>
  <datafield tag="072" ind1=" " ind2="7">
    <subfield code="a">UN</subfield>
    <subfield code="2">thema</subfield>
  </datafield>
  <datafield tag="100" ind1="1" ind2=" ">
    <subfield code="a">Dombrovskaya, Henrietta.</subfield>
    <subfield code="e">author.</subfield>
    <subfield code="4">aut</subfield>
    <subfield code="4">http://id.loc.gov/vocabulary/relators/aut</subfield>
    <subfield code="9">69368</subfield>
  </datafield>
  <datafield tag="245" ind1="1" ind2="0">
    <subfield code="a">PostgreSQL Query Optimization</subfield>
    <subfield code="h">[electronic resource] :</subfield>
    <subfield code="b">The Ultimate Guide to Building Efficient Queries /</subfield>
    <subfield code="c">by Henrietta Dombrovskaya, Boris Novikov, Anna Bailliekova.</subfield>
  </datafield>
  <datafield tag="250" ind1=" " ind2=" ">
    <subfield code="a">2nd ed. 2024.</subfield>
  </datafield>
  <datafield tag="264" ind1=" " ind2="1">
    <subfield code="a">Berkeley, CA :</subfield>
    <subfield code="b">Apress :</subfield>
    <subfield code="b">Imprint: Apress,</subfield>
    <subfield code="c">2024.</subfield>
  </datafield>
  <datafield tag="300" ind1=" " ind2=" ">
    <subfield code="a">XXV, 344 p. 121 illus.</subfield>
    <subfield code="b">online resource.</subfield>
  </datafield>
  <datafield tag="336" ind1=" " ind2=" ">
    <subfield code="a">text</subfield>
    <subfield code="b">txt</subfield>
    <subfield code="2">rdacontent</subfield>
  </datafield>
  <datafield tag="337" ind1=" " ind2=" ">
    <subfield code="a">computer</subfield>
    <subfield code="b">c</subfield>
    <subfield code="2">rdamedia</subfield>
  </datafield>
  <datafield tag="338" ind1=" " ind2=" ">
    <subfield code="a">online resource</subfield>
    <subfield code="b">cr</subfield>
    <subfield code="2">rdacarrier</subfield>
  </datafield>
  <datafield tag="347" ind1=" " ind2=" ">
    <subfield code="a">text file</subfield>
    <subfield code="b">PDF</subfield>
    <subfield code="2">rda</subfield>
  </datafield>
  <datafield tag="505" ind1="0" ind2=" ">
    <subfield code="a">1. Why Optimize? -- 2. Theory - Yes, We Need It! -- 3. Even More Theory: Algorithms -- 4. Understanding Execution Plans -- 5. Short Queries and Indexes -- 6. Long Queries and Full Scans -- 7. Long Queries: Additional Techniques -- 8. Optimizing Data Modification -- 9. Design Matters -- 10. What About Configuration Parameters -- 11. Application Development and Performance -- 12. Functions -- 13. Dynamic SQL -- 14. Avoiding the Pitfalls of Object-Relational Mapping -- 15. More Complex Filtering and Search -- 16. Ultimate Optimization Algorithm -- 17. Conclusion.</subfield>
  </datafield>
  <datafield tag="520" ind1=" " ind2=" ">
    <subfield code="a">Write optimized queries. This book helps you write queries that perform fast and deliver results on time. You will learn that query optimization is not a dark art practiced by a small, secretive cabal of sorcerers. Any motivated professional can learn to write efficient queries from the get-go and capably optimize existing queries. You will learn to look at the process of writing a query from the database engine&#x2019;s point of view, and know how to think like the database optimizer. The book begins with a discussion of what a performant system is and progresses to measuring performance and setting performance goals. It introduces different classes of queries and optimization techniques suitable to each, such as the use of indexes and specific join algorithms. You will learn to read and understand query execution plans along with techniques for influencing those plans for better performance. The book also covers advanced topics such as the use of functions and procedures, dynamic SQL, and generated queries. All of these techniques are then used together to produce performant applications, avoiding the pitfalls of object-relational mappers. This second edition includes new examples using Postgres 15 and the newest version of the PostgresAir database. It includes additional details and clarifications about advanced topics, and covers configuration parameters in greater depth. Finally, it makes use of advancements in NORM, using automatically generated functions. You will: Identify optimization goals in OLTP and OLAP systems Read and understand PostgreSQL execution plans Distinguish between short queries and long queries Choose the right optimization technique for each query type Identify indexes that will improve query performance Optimize full table scans Avoid the pitfalls of object-relational mapping systems Optimize the entire application rather than just database queries.</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2="0">
    <subfield code="a">Database management.</subfield>
    <subfield code="9">60571</subfield>
  </datafield>
  <datafield tag="650" ind1=" " ind2="0">
    <subfield code="a">Open source software.</subfield>
    <subfield code="9">9313</subfield>
  </datafield>
  <datafield tag="650" ind1="1" ind2="4">
    <subfield code="a">Database Management.</subfield>
    <subfield code="9">60571</subfield>
  </datafield>
  <datafield tag="650" ind1="2" ind2="4">
    <subfield code="a">Open Source.</subfield>
    <subfield code="9">66214</subfield>
  </datafield>
  <datafield tag="700" ind1="1" ind2=" ">
    <subfield code="a">Novikov, Boris.</subfield>
    <subfield code="e">author.</subfield>
    <subfield code="0">(orcid)0000-0003-4657-0757</subfield>
    <subfield code="1">https://orcid.org/0000-0003-4657-0757</subfield>
    <subfield code="4">aut</subfield>
    <subfield code="4">http://id.loc.gov/vocabulary/relators/aut</subfield>
    <subfield code="9">69369</subfield>
  </datafield>
  <datafield tag="700" ind1="1" ind2=" ">
    <subfield code="a">Bailliekova, Anna.</subfield>
    <subfield code="e">author.</subfield>
    <subfield code="4">aut</subfield>
    <subfield code="4">http://id.loc.gov/vocabulary/relators/aut</subfield>
    <subfield code="9">69370</subfield>
  </datafield>
  <datafield tag="710" ind1="2" ind2=" ">
    <subfield code="a">SpringerLink (Online service)</subfield>
  </datafield>
  <datafield tag="773" ind1="0" ind2=" ">
    <subfield code="t">Springer Nature eBook</subfield>
  </datafield>
  <datafield tag="776" ind1="0" ind2="8">
    <subfield code="i">Printed edition:</subfield>
    <subfield code="z">9798868800689</subfield>
  </datafield>
  <datafield tag="776" ind1="0" ind2="8">
    <subfield code="i">Printed edition:</subfield>
    <subfield code="z">9798868800702</subfield>
  </datafield>
  <datafield tag="856" ind1="4" ind2="0">
    <subfield code="u">https://doi.org/10.1007/979-8-8688-0069-6</subfield>
  </datafield>
  <datafield tag="912" ind1=" " ind2=" ">
    <subfield code="a">ZDB-2-CWD</subfield>
  </datafield>
  <datafield tag="912" ind1=" " ind2=" ">
    <subfield code="a">ZDB-2-SXPC</subfield>
  </datafield>
  <datafield tag="999" ind1=" " ind2=" ">
    <subfield code="c">57136</subfield>
    <subfield code="d">57136</subfield>
  </datafield>
</record>
