If hash is not used, if the source data is 10M, 100M or even larger, then it will take a lot of time to do the operation with the private key, and the generated digital signature will be very large (generally not less than the size of the source data), which is intolerable.
And we know that no matter how big the data is, as long as the hash is done, a fixed-size message, such as sha 1, will be generated uniformly, and 20 bytes will be generated. In terms of efficiency and data volume, it is very good, and the effect (authentication and anti-denial) is the same.
Understand?