Thanks a Million for your tips !!!!!
Very very good !

Em seg., 13 de mar. de 2023 às 12:45, Rick Otten <rottenwindf...@gmail.com>
escreveu:

> 300M rows isn't "huge", but it is starting to get to be real data.
>
> Some notes/very general rules of thumb since you asked a very general
> question:
> 1.  Consider updating the statistics on the table from the default sample
> of 100 rows to something larger - especially if you have a wide variety of
> data. (either set on a per-table basis or set globally on your database
> with the `default_statistics_target` parameter.
> 2.  Consider the `create statistics` command to see if there any other
> additional hints you can give the planner to help figure out if columns are
> related.
> 3.  If you partition:
>     a.  Your queries could be _slower_ if they don't include the partition
> criteria.  So partition on something you are likely to almost always want
> to filter on anyhow.  That way you can take advantage of "partition
> pruning".
>     b.  One of the main advantages of partitioning is to be able to
> archive old data easily - either by moving it to other tables, dropping it,
> or doing other things with it.  Think about whether you ever intend to roll
> out old data and figure out ways partitions might make that easier.
> 4.  Consider tweaking `max_parallel_workers` to enable more concurrency if
> you are running a lot of big queries on your larger table.
>     a.  There are a number of other `*parallel*` parameters you can study
> and tune as well.
> 5.  Consider bumping `work_mem` if you are running queries that are doing
> a lot of sorting and other intermediary work on the larger data sets.
> 6.  For a table with only 300M rows, btree is going to be fine for most
> use cases.  If you have a monotonically increasing/decreasing column you
> may be able to use a BRIN index on it to save a little space and make for
> slightly more efficient query.
> 7.  You may want to tweak the vacuum parameters to be able to use a little
> more memory and more parallel processing.  Since autovacuums are triggered
> by a percentage of change in the table, you may want to lower the
> percentage of rows that trigger the vacuums.
>
> You'll need to get a lot more specific about the issues you are running
> into for us to be able to provide more specific recommendations
>
>
> On Sat, Mar 11, 2023 at 6:48 AM André Rodrigues <db.an...@gmail.com>
> wrote:
>
>> Hello Guys
>>
>> Regarding a particular performance + architecture situation with postgres
>> 12, I have a table with 300 millions rows and then I ask you, which basic
>> approach like *parameters in postgres.conf*, suitable index type ,
>> partitions type,  would you suggest me knowing that we have Queries  using
>> bind with range id  ( primary Key )  +  1 or 2 columns ?
>>
>>
>> Best regards
>> Andre
>>
>>
>>

-- 
 Atenciosamente,
*André Rodrigues *

Reply via email to