From 3d6134c05d22b313ef98413fc7c79d7820755901 Mon Sep 17 00:00:00 2001 From: Morten Andersen Date: Sun, 24 Mar 2024 21:41:53 +0100 Subject: [PATCH] SQL notes --- programming/README.md | 1 + programming/java/README.md | 5 +++++ programming/sdkman/README.md | 3 ++- programming/sql/README.md | 21 +++++++++++++++++++++ 4 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 programming/sql/README.md diff --git a/programming/README.md b/programming/README.md index 8ebc629..64dcc97 100644 --- a/programming/README.md +++ b/programming/README.md @@ -2,6 +2,7 @@ * [Java](./java) * [Kotlin](./kotlin) +* [SQL](./sql) * [JavaScript, TypeScript and Node.js](./javascript) * [R Statistical Language](./rscript), which I used in my Master Thesis for generating a large number of graphs programmatically * [Go notes](./go) diff --git a/programming/java/README.md b/programming/java/README.md index ac43f59..f00179c 100644 --- a/programming/java/README.md +++ b/programming/java/README.md @@ -18,6 +18,11 @@ * 🔗 [GraalVM](https://www.graalvm.org/) * 🔗 [TornadoVM](https://www.tornadovm.org/) +### Java Performance Tools + +* [JMH - Java Microbenchmark Harness](https://github.com/openjdk/jmh) for microbenchmarking +* [jHiccup](https://www.azul.com/products/components/jhiccup/) for measuring JVM pauses due to GC + ### Versions * LTS version every 3 years. diff --git a/programming/sdkman/README.md b/programming/sdkman/README.md index 850e3a4..7d7e4b6 100644 --- a/programming/sdkman/README.md +++ b/programming/sdkman/README.md @@ -2,11 +2,12 @@ * [Software Development Kit Manager - SDKMAN](https://sdkman.io/) -#### CLI +#### CLI [Usage](https://sdkman.io/usage) * `sdk` * `sdk selfupdate` - update itself. * `sdk update` - refresh list of software +* `sdk current` - list all currently enabled candidates and versions * `sdk list ` - list versions for a candidate * e.g. `sdk list java` * `sdk use ` - use a specific version in the current shell. diff --git a/programming/sql/README.md b/programming/sql/README.md new file mode 100644 index 0000000..674f0a9 --- /dev/null +++ b/programming/sql/README.md @@ -0,0 +1,21 @@ +### SQL + +#### General Resources + +* [Vlad Mihalcea](https://vladmihalcea.com/) on all things Java Persistence (MySQL, PostgreSQL, Hibernate, etc.) + * [SQL Tutorials](https://vladmihalcea.com/tutorials/sql/) + * [TSID – Time-Sorted Unique Identifiers](https://vladmihalcea.com/uuid-database-primary-key/) much more efficient than using UUIDs + * [TSID Generator](https://github.com/vladmihalcea/hypersistence-tsid) a Java library for generating TSIDs + * [Audit logging using triggers With MySQL](https://vladmihalcea.com/mysql-audit-logging-triggers/) record all changes to a table in a "history"/"audit" table + +#### MySQL + +##### Table Partitioning + +* [Table partitioning in MySQL 8: A Practical Guide](https://www.slingacademy.com/article/table-partitioning-in-mysql-8-a-practical-guide/) +* [Table partitioning with Spring and Hibernate](https://vladmihalcea.com/table-partitioning-spring-hibernate/) + +#### Java / Kotlin / JDBC + +* [HikaryCP](https://github.com/brettwooldridge/HikariCP) lightweight JDBC connection pool. +* [JetBrains Exposed](https://github.com/JetBrains/Exposed) ORM for Kotlin