<?xml version="1.0" encoding="UTF-8"?>

<!--XBRL Document Created with the Workiva Platform-->
<!--Copyright 2024 Workiva-->
<!--r:12ec36b4-1121-4388-807d-ae0299c8f9b6,g:cd63242e-d952-4390-89bf-19eda36453c7-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:pool="http://www.poolcorp.com/20240328" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:dtr-types1="http://www.xbrl.org/dtr/type/2020-01-21" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.poolcorp.com/20240328">
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/2003/linkbase" schemaLocation="http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"/>
  <xs:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/dei-sub/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-sub-2023.xsd"/>
  <xs:import namespace="http://xbrl.sec.gov/ecd-sub/2023" schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd"/>
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="pool-20240328_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="pool-20240328_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:type="simple"/>
      <link:linkbaseRef xmlns:xlink="http://www.w3.org/1999/xlink" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="pool-20240328_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:type="simple"/>
    </xs:appinfo>
  </xs:annotation>
  <xs:element id="pool_EquityAwardsValueOfDividendsAndOtherEarningsPaidAdjustmentMember" abstract="true" name="EquityAwardsValueOfDividendsAndOtherEarningsPaidAdjustmentMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="pool_AdjustedEarningsPerDilutedShare" abstract="false" name="AdjustedEarningsPerDilutedShare" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/>
  <xs:element id="pool_EarningsPerDilutedShareAdjustedForASU201609" abstract="false" name="EarningsPerDilutedShareAdjustedForASU201609" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/>
  <xs:element id="pool_EquityAwardsGrantedInPriorYearsVestedMember" abstract="true" name="EquityAwardsGrantedInPriorYearsVestedMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="pool_EquityAwardsGrantedInPriorYearsUnvestedMember" abstract="true" name="EquityAwardsGrantedInPriorYearsUnvestedMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="pool_EquityAwardsReportedValueMember" abstract="true" name="EquityAwardsReportedValueMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="pool_ASU201609TaxBenefitPerShare" abstract="false" name="ASU201609TaxBenefitPerShare" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/>
  <xs:element id="pool_AdjustmentToCompensationAmountEquityAwards" abstract="false" name="AdjustmentToCompensationAmountEquityAwards" nillable="true" xbrli:periodType="duration" xbrli:balance="debit" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType"/>
  <xs:element id="pool_EquityAwardsThatWereGrantedInPriorYearsForfeitedMember" abstract="true" name="EquityAwardsThatWereGrantedInPriorYearsForfeitedMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
  <xs:element id="pool_EarningsPerShareDiluted1" abstract="false" name="EarningsPerShareDiluted1" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/>
  <xs:element id="pool_AfterTaxRecoveryImpairmentChargesPerShare" abstract="false" name="AfterTaxRecoveryImpairmentChargesPerShare" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:perShareItemType"/>
  <xs:element id="pool_EquityAwardsGrantedDuringTheYearUnvestedMember" abstract="true" name="EquityAwardsGrantedDuringTheYearUnvestedMember" nillable="true" xbrli:periodType="duration" substitutionGroup="xbrli:item" type="dtr-types1:domainItemType"/>
</xs:schema>
