Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
SigmundA
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
61.
▲
by
SigmundA
7mo ago
Nice to have some higher yield options. There are banks out there that will do business savings accounts not much below this (2.85%) while keeping things safe (FDIC insured) and liquid. https://www.liveoak.bank/business-savi
62.
▲
by
SigmundA
7mo ago
I think its a good article and I enjoyed learning a little more about rust, but would have been nice to point out this is a common technique used for tuple storage in databases for those not familiar. It comes off as being a novel solution
63.
▲
by
SigmundA
7mo ago
Looks like they just recreated a tuple layout in rust with null bit map and everything, next up would be storing them in pages and memmap the pages. https://www.postgresql.org/docs/current/storage-page-layout....
64.
▲
by
SigmundA
7mo ago
>You can't get a plan cache without a prepared statement, but you can get a prepared statement without a plan cache. What is the purpose of a prepared statement without a plan cache? I thought parsing was a non issue? All thats left
65.
▲
by
SigmundA
7mo ago
>So, Mr Big Boy, now we can get to what a prepared statement in Postgres is. Yeah not a gotcha at all mr teacher. I think you should stop posting low effort responses and examine your own opportunities for education that may have been mi
66.
▲
by
SigmundA
7mo ago
>If you add a global cache, it will have only a marginal value Please substantiate this, again all other major commercial RDBMS's do this and have invested a lot of effort and money into these systems, they would not do something th
67.
▲
by
SigmundA
7mo ago
Pointers to process specific memory addresses to functions other data structures that only exist in that process. I didn't say it was intractable only that it takes more effort, other databases do it. The current PG query plan and jit
68.
▲
by
SigmundA
7mo ago
I think you should read carefully, this only applies to prepared statements within the same session, which is exactly what I have been saying. There is no global cache, and if you reset the session it's gone. This controls whether prep
69.
▲
by
SigmundA
7mo ago
>There are reasons for that, it's useful in a very narrow set of situations. So narrow its enabled by default for all statements from the "big boy" commercial RDBMS's... https://www.ibm.com/docs/e
70.
▲
by
SigmundA
7mo ago
Ah yes so Microsoft and Oracle do these things for no good reason, you are the one making unsubstantiated claims such as "you can't do much better". And "You simply can't decide what plan you need to use based on th
71.
▲
by
SigmundA
7mo ago
Other databases cache plans and have for years because it's very useful, many (most?) apps run many of the same statement with differing parameters, its a big win. They do this without the client having to figure out the statement matc
72.
▲
by
SigmundA
7mo ago
No it cannot cache query plans between processes (connections) and the only way it can cache in the same process in the same connection is by the client manually preparing it, this was how the big boys did it 30 years ago, not anymore. Was
73.
▲
by
SigmundA
7mo ago
Yes if the client manually prepares the statement it will be cached for just that connection because in PG a connection is a process, but it won't survive from one connection to the next even in same process. Other databases like MSSQL
74.
▲
by
SigmundA
7mo ago
Might want to take a look at some research like this [1] that goes over the issues: "This obvious drawback of the current software architecture motivates our work: sharing JIT code caches across applications. During the exploration of
75.
▲
by
SigmundA
7mo ago
No a lot of jitted code has pointers to addresses specific to that process which makes no sense in another process. To make code shareable between processes takes effort and will have tradeoff in performance since it is not specialized to t
76.
▲
by
SigmundA
7mo ago
Most systems submit many of the same queries over and over again. Ad-hoc one off queries usually can accept higher initial up-front compile cost because the main results usually take much longer anyway, vs worrying about an extra 100ms of c
77.
▲
by
SigmundA
7mo ago
Sharing executable code between processes it not as easy as sharing data. AFAIK unless somethings changed recently PG shares nothing about plans between process and can't even share a cached plan between session/connections.
78.
▲
by
SigmundA
7mo ago
Nothing to do with plan caching, thats just talking about plan execution of parallel operations which is that thread or process based in PG? If process based then they can send small parts of plan across processes.
79.
▲
by
SigmundA
7mo ago
Postgresql uses a process per connection model and it has no way to serialize a query plan to some form that can be shared between processes, so the time it takes to make the plan including JIT is very important. Most other DB's cache
80.
▲
by
SigmundA
7mo ago
Unless you cache query plans like other RDBMS's then the client manually managing that goes away and its not limited to a single connection. MS SQL still has prepared statements and they really haven't been used in 20 years since
81.
▲
by
SigmundA
7mo ago
The big boys all cache query plans so the amount it time it take to compile is not really a concern.
82.
▲
by
SigmundA
8mo ago
> An electric drivetrain achieves around 90%, so you only need roughly 1,600 kWh of battery capacity for equivalent range. At 0.25 kWh/kg, that’s still about 6.4 tonnes of battery — roughly 18 times heavier than the 350 kg diesel ta
83.
▲
by
SigmundA
8mo ago
https://en.wikipedia.org/wiki/Capacity_factor
84.
▲
by
SigmundA
8mo ago
I wasn't talking about MFC or VB or any higher level abstraction, I specifically was talking about the base Win16/32 GDI gui system that windows started with. You can take an immediate mode api and abstract it with a retained mode
85.
▲
by
SigmundA
8mo ago
Event based or loop based is separate from retained or immediate. The canvas api in the browser is immediate mode driven by events such as requestAnimationFrame If you do not draw in WM_PAINT it will not redraw any state on its own within y
86.
▲
by
SigmundA
8mo ago
Is Win16 / Win32 GDI which goes back to 1985 an immediate mode GUI? Win32 GUI common controls are a pretty thin layer over GDI and you can always take over WM_PAINT and do whatever you like. If you make your own control you musts handl
87.
▲
by
SigmundA
8mo ago
Software can make sound, not silent, software can make things appear on the screen, not invisible, software can affect physical objects through device control, not intangible. Nothing like an invisible dragon you might claim exists without
88.
▲
by
SigmundA
8mo ago
Fun fact Apt pupil has a reference to Shawshank where the main character says he lives off stocks that a banker setup named Dufresne who went to prison for murdering his wife. King does this all the time in his stories having character conn
89.
▲
by
SigmundA
8mo ago
>I've actually come around to the Postgres way of thinking. We shouldn't want or need plan hints usually. They only come out at night, mostly. PG is 40 years old and still has planner bugs being fixed up regularly, and having n
90.
▲
by
SigmundA
8mo ago
This is great, I have harped on PG's aversion to plan hints quite a bit in the past (and also lack of plan caching and reuse). One of the biggest issues I run into operationally with relational db's is lack of plan stability and i
More ›