Help

Does EVERY instance of a single record, across numerous views, each count toward the base max?

Topic Labels: Base design Data
Solved
Jump to Solution
2878 10
cancel
Showing results for 
Search instead for 
Did you mean: 
Karen_Siugzda
6 - Interface Innovator
6 - Interface Innovator

Hello

We have 50,000 max record limit on our plan.

On our settings page, it says we're up to 35,500+ records thus far.

However, when I manually look at all our master tables of data, it only ads up to 28,000

So I'm wondering where is that 7,500 record discrepancy is coming from?

If I have ONE record in my master table that shows up in 10 other views, does that single record actually count as 11 records?? (in the master table + the 10 other views)

I always assumed that views simply pull select filtered items from the master record set and didn't count toward the base record max, since they are just regurgitating data that already exists, and not adding more data rows. Is that incorrect thinking?

Thanks.

2 Solutions

Accepted Solutions
Alexey_Gusev
13 - Mars
13 - Mars

You should put it here, after extension added::

Alexey_Gusev_0-1698187978404.png

Alexey_Gusev_1-1698188034681.png

Alexey_Gusev_2-1698188077659.png

 

 

Alexey_Gusev_0-1698192758955.png

Start from scratch, remove existing few lines and put there

Alexey_Gusev_1-1698193032499.png

 

 

See Solution in Thread

For those, who search and find this question and script. Usually I don't like to use for and declare empty arrays, I'm using map instead. But linter says that await can't be used inside arrow-function. Now I know the 'correct' way to do it. 

 

let tabLen=tab=>tab.selectRecordsAsync().then(q=>[tab.name,q.records.length])
let sizes=await Promise.all(base.tables.map(tabLen))
let total=['TOTAL',sizes.reduce((a,b)=>a+b[1],0)]
output.table(Object.fromEntries([['Table Name','# of records'],...sizes,total]))

 



See Solution in Thread

10 Replies 10

No, different views don't count towards the limit.

Have you recently deleted 7,500 records? If those 7,500 records are sitting in the base trash, those would count towards your limit.

Thanks for your response. Just checked the trash and it's empty. **shrug**

Any other ideas?

Hmmmm... my only other idea would be to click through each one of your tables, and check to see if there is a "filter" applied to any of your tables.

The record count in the lower left of the screen only shows the count of the current records that you're looking at (which might be filtered). The record count doesn't show you the "total records in the entire table".

Karen_Siugzda
6 - Interface Innovator
6 - Interface Innovator

ah ha. I'll try that!

Hi,
you can use for quick check

 

let x=[]
for(let tab of base.tables) x.push(await tab.selectRecordsAsync({fields:[]}).
then(q=>[tab.name,q.records.length]));
x.push(['TOTAL',x.map(e=>e[1]).reduce((a,b)=>a+b)])
output.table(Object.fromEntries(x))

 

Oh! I can try that as well. Where would I put this nifty bit of code?

Alexey_Gusev
13 - Mars
13 - Mars

You should put it here, after extension added::

Alexey_Gusev_0-1698187978404.png

Alexey_Gusev_1-1698188034681.png

Alexey_Gusev_2-1698188077659.png

 

 

Alexey_Gusev_0-1698192758955.png

Start from scratch, remove existing few lines and put there

Alexey_Gusev_1-1698193032499.png

 

 

Thank you so much! This script worked wonderfully to help me see where all the data is hiding!

For those, who search and find this question and script. Usually I don't like to use for and declare empty arrays, I'm using map instead. But linter says that await can't be used inside arrow-function. Now I know the 'correct' way to do it. 

 

let tabLen=tab=>tab.selectRecordsAsync().then(q=>[tab.name,q.records.length])
let sizes=await Promise.all(base.tables.map(tabLen))
let total=['TOTAL',sizes.reduce((a,b)=>a+b[1],0)]
output.table(Object.fromEntries([['Table Name','# of records'],...sizes,total]))