1626306120
WebAssembly Text Format
Thumbnail font: https://www.dafont.com/zx80.font
danlogs git repository: https://github.com/danbugs/danlogs/
Follow me on Twitter: https://twitter.com/danologue/
Follow me on GitHub: https://github.com/danbugs/
For business inquiries, contact me on LinkedIn: https://www.linkedin.com/in/danbiz
#webassembly #tables
1595209620
As a developer, I have experienced changes in app when it is in production and the records have grown up to millions. In this specific case if you want to alter a column using simple migrations that will not work because of the following reasons:
It is not so easy if your production servers are under heavy load and the database tables have 100 million rows. Because such a migration will run for some seconds or even minutes and the database table can be locked for this time period – a no-go on a zero-downtime environment.
In this specific case you can use MySQL’s algorithms: Online DDL operations. That’s how you can do it in Laravel.
First of all create migration. For example I want to modify a column’s name the traditional migration will be:
Schema::table('users', function (Blueprint $table) {
$table->renameColumn('name', 'first_name');
});
Run the following command php artisan migrate –pretend this command will not run the migration rather it will print out it’s raw sql:
ALTER TABLE users CHANGE name first_name VARCHAR(191) NOT NULL
Copy that raw sql, remove following code:
Schema::table('users', function (Blueprint $table) {
$table->renameColumn('name', 'first_name');
});
Replace it with following in migrations up method:
\DB::statement('ALTER TABLE users CHANGE name first_name VARCHAR(191) NOT NULL');
Add desired algorithm, in my case query will look like this:
\DB::statement('ALTER TABLE users CHANGE name first_name VARCHAR(191) NOT NULL, ALGORITHM=INPLACE, LOCK=NONE;');
#laravel #mysql #php #alter heavy tables in production laravel #alter table in production laravel #alter tables with million of records in laravel #how to alter heavy table in production laravel #how to alter table in production larave #mysql online ddl operations
1626306120
WebAssembly Text Format
Thumbnail font: https://www.dafont.com/zx80.font
danlogs git repository: https://github.com/danbugs/danlogs/
Follow me on Twitter: https://twitter.com/danologue/
Follow me on GitHub: https://github.com/danbugs/
For business inquiries, contact me on LinkedIn: https://www.linkedin.com/in/danbiz
#webassembly #tables
1596495120
Table partitioning in SQL, as the name suggests, is a process of dividing large data tables into small manageable parts, such that each part has its own name and characteristics.
Table partitioning helps in significantly improving database server performance as less number of rows have to be read, processed and returned. We can also use partitioning techniques for dividing indexes and index-organized tables.
Table partitioning can be of two types, namely, vertical partitioning or horizontal partitioning. In vertical partitioning, we divide the table column wise. While in horizontal partitioning, we divide the table row wise on the basis of range of values in a certain column.
Syntax and parameters
The basic syntax for partitioning a table using range is as follows :
Main table creation :
CREATE TABLE main_table_name (
column_1 data type,
column_2 data type,
.
.
. ) PARTITION BY RANGE (column_2);
Partition table creation :
CREATE TABLE partition_name
PARTITION OF main_table_name FOR VALUES FROM (start_value) TO (end_value);
The parameters used in the above mentioned syntax are similar to CREATE TABLE statement, except these :
PARTITION BY RANGE (column_2) : column_2 is the field on the basis of which partitions will be created.
partition_name : name of the partition table
FROM (start_value) TO (end_value) : The range of values in column_2, which forms the part of this partition. Note that start_value is inclusive, while end_value is exclusive.
Here is an example to illustrate it further.
Example
Imagine that you are working as a data engineer for an e-com firm that gets a huge number of orders on a daily basis. You usually store data such as order_id, order_at, customer_id etc. in a SQL table called “e-transactions’’. Since, the table has a humongous amount of data in it, the low load speed and high return time etc. have become a problem for data analysts, who use this table for preparing KPIs on a daily basis.
What will you do to improvise this table, so that data analysts can run queries quickly?
A logical step would be partitioning the table into smaller parts. Let’s say we create partitions such that the partition stores data pertaining to specified order dates only. This way, we will have less data in each partition and working on it will be more fun.
We can partition the table using declarative partitioning i.e. by using a PARTITION BY RANGE (column_name) function as shown below.
#postgresql #drop-table #sql #alter-table #table-partitioning
1602242460
SQL ALTER TABLE query is used to add, modify, or delete columns in the existing table. The ALTER TABLE query is also used to add and drop various constraints on a current table. ALTER TABLE statement in SQL is used to add, modify, or drop columns in a table. You can also use an ALTER TABLE command to add and drop various constraints on an existing table.
SQL ALTER TABLE modifies the table definition by altering, adding, or dropping columns and constraints. ALTER TABLE also reassigns and rebuilds the partitions, or disables and enables the constraints and triggers.
Once a table is created in the database, there are many occasions where one may wish to change the structure of the table.
#sql #sql alter table #alter table
1619536440
DevOps is a widely heard term in today’s market as the majority of the enterprises have opted to use the DevOps tools. Still many enterprises require a presentation for understanding the developments involved with using the DevOps tools. DevOps include social advancement which is a breakdown of the dividers and the storehouses between programming and activities with the tools and new techniques that empower these changes.
DevOps tools have speeded up the change in programming makers put up their applications and advance the applications for further sale to the public. The primary motivation for using DevOps tools as said by the majority of users is its quick development.
The Periodic Table of DevOps Tools is considered to be a dynamic, implant capable, and tastefully satisfying gadget that enables the clients to picture the most mainstream DevOps tools, characterize them, and sort each of those tools by usefulness and their pricing model. No matter what sort of tool you are looking for, it is just a one-stop look for the majority of the major DevOps tools branding whether it be an Open Source CI device or an Enterprise Testing tool.
#devops #devops periodic table #periodic table #devops tools